我想澄清MVC5 Razor Views的一件事。MVC5提交後在文本框中丟失的值
有人告訴我,我不必在剃刀視圖中使用HTML助手(@ Html.EditorFor,@ Html.TextBoxFor),它仍然可以工作。
控制器代碼
[HttpPost]
public ActionResult Create(Models.TestObj obj)
{
ViewBag.TestStr = string.Format("You typed: {0} {1}", obj.FirstName, obj.LastName);
return View(obj);
}
Razor視圖
@using (Html.BeginForm())
{
<div>
@Html.EditorFor(model => model.FirstName, new { htmlAttributes = new { @class = "form-control", style = "width: 120px;" } })
<input class="form-control text-box single-line" id="LastName" name="LastName" style="width: 120px;" type="text">
<input type="submit" name="submit" value="Filter"/>
</div>
@ViewBag.TestStr
}
但是當我真正喜歡上面的測試中,「姓氏」文本框中鍵入的值不會被保留。我可以在我的控制器中捕獲兩個文本框的值。但回發之後,失去了「姓氏」文本框中的值。通過使用HTMLHelper創建的文本框不會丟失值。
我做錯了什麼或者應該是這樣嗎?如果我想保留提交的值,是否必須在MVC5的RazorView中使用HtmlHelpers?
如何在StackOverflow中將我的代碼格式化爲代碼片段?或者它是自動完成的? – TTCG
您需要使用HtmlHelper。不認真,請參閱[如何使用Markdown或HTML格式化我的帖子](http://stackoverflow.com/help/formatting) –