我正在學習ASP.NET MVC,並且遇到以下問題。ASP.NET MVC POST中的空值
視圖 「SelectProdotti」 是
@model Models.SelectProdottiModel
@{
ViewBag.Title = "Select Prodotti";
}
<h2>@ViewBag.Title</h2>
@using (Html.BeginForm("ProdottiToListino", "Listino", FormMethod.Post))
{
@Html.HiddenFor(m => m.id)
@Html.DisplayFor(m=> m.id)
<input type="submit" value="Salva" />
}
該加載視圖
public ActionResult SelectProdotti(int id)
{
SelectProdottiModel model = new SelectProdottiModel();
model.id = id;
return View(model);
}
該模型的動作
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Models
{
public class SelectProdottiModel
{
public int id;
public SelectProdottiModel()
{
}
}
}
控制器中的交動作
[HttpPost]
public ActionResult ProdottiToListino(SelectProdottiModel model)
{
return RedirectToAction("SelectProdotti", "Listino", new {id = model.id });
}
我寫了這段代碼只是爲了學習,沒用。問題是model.id始終爲0,即視圖不會發布值,錯誤在哪裏?
'public int id'是一個*字段*。默認的模型綁定器甚至不會嘗試綁定它。嘗試使用*屬性*來代替:'public int id {get;組; }' – haim770