Asp.net mvc 4 在ASP.NET MVC 4中预选值

Asp.net mvc 4 在ASP.NET MVC 4中预选值,asp.net-mvc-4,Asp.net Mvc 4,我正在开发一个应用程序。此应用程序使用ASP.NET MVC 4。我的一个屏幕有一个下拉列表和一个复选框。此屏幕是一个基本的注册表单。表单的模型当前如下所示: public class SignUpModel { public int SelectedBirthMonth { get; set; } public bool Agree { get; set; } public string Username { get; set; } } @model MyApp.Models.S

我正在开发一个应用程序。此应用程序使用ASP.NET MVC 4。我的一个屏幕有一个下拉列表和一个复选框。此屏幕是一个基本的注册表单。表单的模型当前如下所示:

public class SignUpModel
{
  public int SelectedBirthMonth { get; set; }
  public bool Agree { get; set; }
  public string Username { get; set; }
}
@model MyApp.Models.SignUpModel
...
<input id="Username" name="Username" value="@Model.Username"  />
<select id="SelectedBirthMonth" name="SelectedBirthMonth">
  <option value="1">January</option>
  <option value="2">February</option>
  <option value="3">March</option>
  ...
  <option value="12">December</option>
</select>
<input id="Agree" name="Agree" type="checkbox" />
相关的视图代码如下所示:

public class SignUpModel
{
  public int SelectedBirthMonth { get; set; }
  public bool Agree { get; set; }
  public string Username { get; set; }
}
@model MyApp.Models.SignUpModel
...
<input id="Username" name="Username" value="@Model.Username"  />
<select id="SelectedBirthMonth" name="SelectedBirthMonth">
  <option value="1">January</option>
  <option value="2">February</option>
  <option value="3">March</option>
  ...
  <option value="12">December</option>
</select>
<input id="Agree" name="Agree" type="checkbox" />
@model MyApp.Models.SignUpModel
...
一月
二月
前进
...
十二月
在大多数情况下,这是可行的。除此之外,当用户发布表单时,我会进行一些验证。如果验证失败,我将再次向用户显示该视图。我的目的是让他们之前输入的值。我目前的方法是使用用户名文本框。但是,我不知道如何处理下拉列表,使它们以前被选中。如果以前选中了值,则如何选中复选框

如何在ASP.NET MVC 4中解决这些类型的场景


谢谢大家!

您可以尝试通过ajax发布表单,并向回调返回布尔值,如果为true,则重定向到下一页,如果为false,则保持原样。

在验证失败后将模型传递回视图,并使用mvc html帮助程序