當我通過提交發布數據時,我看到該模型在控制器中爲null。我已經看到這個問題被多次詢問,根本原因是模型屬性名稱和我們在控制器的action參數中使用的名稱之間的名稱衝突。但我的情況並非如此。不知道爲什麼模型是空的。任何幫助表示讚賞。在下面的代碼中,「pm」變量爲空。在HTTP過程中,MVC模型在控制器中爲null Post ASP.NET
檢視:
<div> @Html.LabelFor(model =>model.procedureName)</div>
<div> @Html.ValidationMessageFor(model => model.procedureName)</div>
<div>@Html.TextBoxFor(model => model.procedureName)</div>
<div> @Html.ValidationMessageFor(model => model.ServiceDate)</div>
<div> @Html.TextBoxFor(model =>model.ServiceDate) </div>
<div> @using (Html.BeginForm())
{
<input type="submit" value="Save Procedure" id="btnPost" />
}
</div>
型號:
public partial class MemberProcedure
{
public int procedureid { get; set; }
[Display(Name = "Name")]
[Required(ErrorMessage = "Please select a name")]
public string procedureName { get; set; }
public string updatedbyUserName { get; set; }
public Nullable<System.DateTime> LastUpdatetime { get; set; }
public Nullable<System.DateTime> Createtime { get; set; }
[Required(ErrorMessage = "Please select a service date")]
public Nullable<System.DateTime> ServiceDate { get; set; }
}
控制器的操作方法:
[HttpPost]
public ActionResult Procedure(MemberProcedure pm)
{
if (ModelState.IsValid)
{
savedata....
}
return View(pm);
}
HTML:
<input id="procedureName" name="procedureName" type="text" value="">
<input id="ServiceDate" name="ServiceDate" type="text" value="">
您的表單在所有輸入之後出現。您的輸入需要包含在表單中。 – Fran
*所有*您的控件需要進入'Html.BeginForm()',而不僅僅是提交按鈕。 –
爲什麼你不把控件放在窗體標籤中?它不會以這種方式設置類對象的屬性。 –