c# - 如果 ASP.NET MVC 表单已失效,如何保留字段值?

标签 c# asp.net-mvc validation asp.net-mvc-2 modelstate

我有一个表单在发送电子邮件之前要经过一些验证。

我已经尝试使用它进行验证,其中 ValidateInput 方法根据输入设置 ModelState:

[HttpPost]
public ActionResult Create(FormCollection collection)
{
    ValidateInput(collection);
    if (ModelState.IsValid == false) return View(collection);

如果某些内容无效,这将清除所有输入的字段。我想将所有输入的数据保留在该字段中。我该怎么做?

最佳答案

您是否在表单或常规 html 标签的输入字段中使用 Html 助手?

<%: Html.TextBoxFor(x => x.Message) %> - original value will be kept
<input type="text" name="Message" /> - original value will be lost after postback

您还可以受益于使用内置验证(带有数据注释属性)而不是使用您自己的验证方法。

关于c# - 如果 ASP.NET MVC 表单已失效,如何保留字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3484130/

相关文章:

asp.net-mvc - 如何将 Azure AD 身份验证添加到现有 ASP.NET MVC 应用程序?

c# - "The namespace ' 控制台 ' already contains a definition for ' 圆圈 '"

c# - 有关 Windows 窗体中选项卡的帮助

c# - ASP.net 返回带有数据变量的 View

c# - 无法从 Entity Framework 中的模型代码生成数据库

java - JSR-303 验证组定义一个默认组

c# - 动态依赖注入(inject) Web Api

asp.net - 在 MVC6 中扩展 Identity3

javascript - 在 ngTagsInput 中如何显示不同情况的验证消息?

asp.net-mvc - 关于号码问题的 FluentValidation