首页 文章

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

提问于
浏览
0

我正在为我的Razor视图使用 input 标记助手,如下所示:

<input type="text" asp-for="MsgFromFilter" id="txtMsgFromFilter" />

所以这应该绑定到我的模型的 MsgFromFilter 字符串字段 . 虽然,当我提交表单时,我的模型中的这个字段绑定到文本框中的值,它不会将其设置为文本输入元素的默认值;它只保留该 input 字段中提交的最后一个值 . 如何让文本 input 将其在页面加载时的值默认为模型中的值而不是 input 中提交的最后一个值?

1 回答

  • 0

    感谢@KirkLarkin我发现要设置Razor视图渲染的 input 字段的默认值,我需要设置 ModelState . 所以在我的控制器中我必须做两件事,设置 ModelState 和模型本身:

    if (btnReset) {
        ModelState.Remove(nameof(model.MsgFromFilter));
        model.MsgFromFilter = null;
    }
    

    这适用于将该模型字段的值以及Razor视图输入元素重置为空白 .

相关问题