这部分由于Ethan Brown而解散了
我想用预设值设置我的 Html.HiddenFor帮助器的值
这是我的代码:
我想用预设值设置我的 Html.HiddenFor帮助器的值
这是我的代码:
<%: Html.HiddenFor(model => model.idv,new { @value = ViewBag.id })%> <%: Html.HiddenFor(model => model.etat,new { @value = "false" })%>
但是当执行我的代码时,我得到的错误是model.idv和modele.etat为null.
到目前为止,这是第二部分没有解决的问题:
这是我的行动:
public ActionResult Reserver(string id) { var model = new Models.rservation { idv = id,etat = false }; return View(model); } [HttpPost] public ActionResult Reserver(Models.rservation model) { if (ModelState.IsValid) { entity.AddTorservation(model); entity.SaveChanges(); return View(); } else { return View(model); } }
这是我的观点页面:
<% using (Html.BeginForm("Reserver","Home",FormMethod.Post,new { @class = "search_form" })) { %> //some code textBox to fill <input type="submit" value="Create" /> <% } %>
因此,当我单击提交按钮时,model.idv将再次设置为空值
解决方法
设置预设值的正确方法是通过模型传递(如果设置,MVC似乎忽略“value”参数).在你的行动中完成你正在寻找的东西:
public ActionResult MyAction() { var model = new MyModel { idv = myPresetId,etat = false }; return View( model ); }
然后你不必在你的视图中做任何事情,除非:
<%: Html.HiddenFor( model => model.idv ) %> <%: Html.HiddenFor( model => model.etat ) %>