我正在使用Html.TextBoxFor输入文本并稍后提交。 我想得到的是,在异常/错误的情况下,提交时将用户返回到表单视图以及之前输入的值。
我的POST动作:
[HttpPost]
public ActionResults Add(Model model)
{
try
{
//on succeed
_repository.Add(model);
return RedirectToAction("ThankYou", "Home");
}
catch(Exception ex)
{
ModelState.AddModelError('foo', ex.Message);
}
return View(model);
}
查看代码:
<div class="origin">
<div class="float-left margin-right">
@Html.LabelFor(m => m.From, "From:", new { @class = "block-display" })
@Html.TextBoxFor(m => m.From, new
{
type = "text",
@class = "airport-auto-complete",
auto_complete = "",
placeholder = "enter place or airport",
ng_model = "From"
})
</div>
<div class="float-left">
@Html.LabelFor(m => m.DepartAt, "Depart:", new { @class = "block-display" })
@Html.TextBoxFor(m => m.DepartAt, new
{
type = "text",
@class = "begin-trip-date date-input",
ng_model = "DepartAt"
})
<input type="button" class="more-options-btn" value="More.." />
<input type="button" class="transport-btn" />
</div>
<br style="clear: left;" />
</div>
<div class="more-details">
<div>
<label>
<input type="checkbox" id="allow-via" />
Allow nearby</label>
<br />
</div>
<div>
<label for="via" class="block-display">Via:</label><input type="text" id="via" auto-complete />
</div>
<div>
<div class="float-left left">
<label for="flight-num" class="block-display">Flight No.:</label><input type="text" id="flight-num" />
</div>
<div class="float-left">
<label for="stops" class="block-display">Stops:</label><input type="text" id="stops" />
</div>
</div>
</div>
<div class="destination">
<div class="float-left margin-right">
@Html.LabelFor(m => m.To, "To:", new { @class = "block-display" })
@Html.TextBoxFor(m => m.To, new
{
type = "text",
@class = "airport-auto-complete",
auto_complete = "",
placeholder = "enter place or airport",
ng_model = "To"
})
</div>
<div class="float-left">
@Html.LabelFor(m => m.ReturnAt, "Return:", new { @class = "block-display" })
@Html.TextBoxFor(m => m.ReturnAt, new
{
type = "text",
@class = "end-trip-date date-input",
ng_model = "ReturnAt"
})
</div>
<br style="clear: left;" />
</div>
答案 0 :(得分:0)
事实证明ng_model = "To"
属性是导致此问题的原因。
ng-model
是AngularJs框架的内置指令,它处理客户端数据绑定,因为此范围内没有数据,我看不到数据。
您可以在此处阅读:ngModel