2016年2月17日 星期三

ASP.net MVC 表單POST與接收顯示(二) - Model版本

試完直接顯示之後
來試試使用Model版本

首先是Index.cshtml



@model <yourproject>.Models.HomeModel
 ....
@using (Html.BeginForm("Form2", "home", FormMethod.Post, new { id = "FormTest2" }))
{
    @Html.LabelFor(m => m.Str2)
    @Html.TextBoxFor(m => m.Str2)
    <input type="submit" value="submit" />
}

其中所使用的HomeModel則如下
namespace <yourproject>.Models
{
    public class HomeModel
    {
        [Required]
        [Display(Name = "字串1")]
        public string Str2 { get; set; }

    }

}

M跟V完成之後,就是C了
Controller
public ActionResult Index()
{
    return View();
}

完成這三個頁面之後,就可以顯示表單了



<form action="/home/Form2" id="FormTest2" method="post"><label for="Str2">字串1</label>
    <input data-val="true" data-val-required="字串1 欄位是必要項。" id="Str2" name="Str2" type="text" value="">
    <input type="submit" value="submit">
</form>


再來則是接收部分
接收的Controller

[HttpPost]
public ActionResult Form2(HomeModel Model)
{
    return View("index", Model);
}


由於是把資料送回index,所以我們直接在index作接收顯示
@if (Model != null)
{
    <h5>接收資料</h5>
    @Model.Str2
}




我之前學習網頁是使用php
兩者相較之下,我覺得再form的處理上,php相比起asp.net MVC的接收處理上比較簡單

表單處理的紀錄就先到這邊

沒有留言:

張貼留言