繁体   English   中英

ASP.NET Core的输入标签帮助程序不会将其文本更改为绑定的模型字段

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM