В моем интерфейсе у меня есть список текстовых полей, что-то вроде этого: http://screencast.com/t/YjIxNjUyNmUASP.Net MVC 2 - ModelBinding и словарь <int, int>
Количество текстовых полей неизвестна, поскольку каждый из них связан с шаблоном. На моей странице необходимо связать номер с некоторыми из этих шаблонов.
Вот пример HTML код:
<% // loop on the templates
foreach(ITemplate template in templates)
{
// get the content from the input dictionary
int val;
content.TryGetValue(template.Id, out val);
// convert it as a string
string value = ((val > 0) ? val.ToString() : string.Empty);
// compute the element name/id (for dictionary binding)
string id = ??????????
string name = ??????????????
%>
<label for="<%= name %>"><%= template.Name %></label>
<input type="text" id="<%= id %>" name="<%= name %>" value="<%= value %>" />
<br />
<% }
%>
Что я ожидаю, в моем контроллере, чтобы получить IDictionary где первый ИНТ шаблон ID, а другой граф задается пользователем ,
Вот что я хочу:
public ActionResult Save(int? id, Dictionary<int, int> countByTemplate)
Я пробовал много вещей, но ничего не получалось. Я попытался прочитать источники, но это лабиринт, и я получаю головную боль, пытаясь получить информацию о привязке модели.
Вопросы:
- есть хороший Ressource о том, как работает modelbinding? Мне хотелось бы, чтобы исчерпывающий, я устал от блогов 84093043, которые говорят о конкретном конкретном примере.
- как я могу построить свой HTML, используя для получения IDictionary (или даже IDictionary в действии моего контроллера?
Спасибо большое за помощь
Попробуйте 'общественное ActionResult Сохранить (INT? Идентификатор, словарь CBTs)' –
Спасибо, это лучше! – Mose