ASP.Net MVC3: CheckBoxListFor / RadioButtonListFor - PullRequest
2 голосов
/ 13 февраля 2012

Я адаптировал этот код Кто-нибудь реализовывал RadioButtonListFor для ASP.NET MVC? для выпадающего списка.

Но у меня небольшая проблема - в некоторых случаях (которая появляется с флажком/ radiobutton:

Если элемент, который я хочу связать, находится в списке, я получаю странные имена:

//Here I've some for loop
@Html.CheckBoxListFor(m => m.Variables[i].Values[j].Triggers)

И я получил:

<input id="Variables.get_Item(value(ASP._Page_Areas_Advertiser_Views_Campaign_ValueDependency_cshtml+&lt;>c__DisplayClass2).i).Values.get_Item(value(ASP._Page_Areas_Advertiser_Views_Campaign_ValueDependency_cshtml+&lt;>c__DisplayClass4).j).Triggers_103" name="Variables.get_Item(value(ASP._Page_Areas_Advertiser_Views_Campaign_ValueDependency_cshtml+&lt;>c__DisplayClass2).i).Values.get_Item(value(ASP._Page_Areas_Advertiser_Views_Campaign_ValueDependency_cshtml+&lt;>c__DisplayClass4).j).Triggers.ListItems[0].Selected" type="checkbox" value="true" />

Какизбегать этого имени?

РЕДАКТИРОВАТЬ: список элементов является динамическим и должен быть загружен из контроллера:

pulic ActionResult DoMyThing(){
   _dataStore.MakeThings();
   ....

   MyModel model = new MyModel{SelectedId=5, AvailableObjects= _aPreviouslyLoadedList};
   return View(model);
}

Ответы [ 2 ]

1 голос
/ 13 февраля 2012

Можете ли вы опубликовать свой метод расширения для CheckBoxListFor()? В зависимости от ваших возможных параметров, если у вас есть параметр object для htmlAttributes, вы можете сделать что-то вроде:

new { id = "yourDesiredIdName" }
0 голосов
/ 13 февраля 2012

Я только что обнаружил ОЧЕНЬ хорошее решение (для моих нужд) относительно флажков, выпадающих списков, радиокнопок и т. Д.

Ознакомьтесь с этим постом (ссылка внизу на код в codeplex -> source -> download last):

Добавление расширенной поддержки селектора для MVC Мэттом Хидингером

Обратите внимание, что в сообщении указывается, что для его работы необходимы три (3) файла расширения, но естьтакже необходимы некоторые другие вспомогательные расширения (DelimitedStringHelper.cs, HtmlFormHelper.cs, ReflectionHelper.cs и StringHelper.cs - другие, которые вам нужны).

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