假设我有这个

public class OrganisationData
{
  public NavigationData navigationData {get; set; }
}


然后

public class NavigationData
{
  public string choice {get;set;}
  //other properties omitted
}


我认为这个

<% Using(Html.BeginForm()){%>
   <p>
      <% = Html.RadioButtonFor(x => x.organizationData.navigationData.choice, "1")%>
   </p>
   //More choices
<%}%>


用户首先进入该视图,我希望预选第一个RadioButton。

感谢您的帮助。

最佳答案

您应该在GET控制器操作中设置要发送给Viewengine的Model中的值。

就像是:

ActionResult MyMethod()
{
    var vm = new OrganisationData { NavigationData = new NavigationData{ choice = 1 } };
    return View("myview", vm);
}


不要像John所建议的那样将逻辑放在视图中,这是一个庞大的设计反模式,从长远来看只会使您痛苦。

编辑:

将默认值从控制器传递给视图意味着控制器已决定默认值是什么。这是逻辑,因此不属于视图。在控制器中进行操作使其可测试。

07-24 22:33