[英]input tag helper for ASP.NET Core doesn't change its text to the bound model field
我在Razor视图中使用input
标签助手,如下所示:
<input type="text" asp-for="MsgFromFilter" id="txtMsgFromFilter" />
因此,这应该绑定到我模型的MsgFromFilter
字符串字段。 虽然,当我提交表单时,模型中的该字段绑定到文本框中的值,但反之则行不通:当我在控制器中设置此字段的值时,视图未设置作为文本输入元素的默认值; 它只是保持在该input
字段中提交的最后一个值。 我怎样才能获得文本input
到它在页面加载值默认为在模型中,而不是在提交的最后一个值的数值input
?
感谢@KirkLarkin,我发现要设置Razor视图呈现的input
字段的默认值,我需要设置ModelState
。 因此,在我的控制器中,我必须做两件事,设置ModelState
和模型本身:
if (btnReset) {
ModelState.Remove(nameof(model.MsgFromFilter));
model.MsgFromFilter = null;
}
这可用于将该模型字段以及Razor视图输入元素的值重置为空白。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.