Как получить предварительную выбор радиокнопки в ASP.NET MVC 2? - PullRequest
2 голосов
/ 26 июля 2010

Допустим, у меня есть это

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.

Спасибо за помощь.

Ответы [ 2 ]

2 голосов
/ 26 июля 2010

Установить объект HTMLAttributes для первой кнопки-переключателя.

<% Using(Html.BeginForm()){%> 
   <p> 
      <% = Html.RadioButtonFor(x => x.organizationData.navigationData.choice, 
              "1", 
              new[] {checked="checked"})%> 
   </p> 
   //More choices 
<%}%> 
1 голос
/ 26 июля 2010

вы должны установить значение в модели, которую вы отправляете в viewengine, из действия вашего контроллера GET.

что-то вроде:

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

Не ставьте логику в поле зрения, как предлагает Джон, это массивный антипаттерн, который в конечном итоге вызовет у вас горе.

Edit:

передача значения по умолчанию представлению из контроллера означает, что контроллер принял решение относительно значения по умолчанию. Это логика и, следовательно, не принадлежит в представлении. Выполнение этого в контроллере делает его тестируемым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...