Я знаю, что в ASP.NET MVC 1 для привязки значений динамической формы к словарю ключи словаря должны быть целыми, основанными на нуле и не ломающимися . Это все еще имеет место с ASP.NET MVC 2?
Я изо всех сил пытаюсь получить связыватель модели по умолчанию, чтобы заполнить Dictionary<Guid, Guid[]>
из динамических флажков, но не могу заставить его работать. Кажется, что пользовательские модели связующего - единственный путь.
Есть идеи?
ОБНОВЛЕНИЕ: то, что я сейчас делаю, это:
<input type="hidden" name="MyDict[{GUID1_KEY}].Key" value = "{GUID1_KEY}"/>
<input type="checkbox" name="MyDict[{GUID1_KEY}].Value" value = "{GUID2_VALUE}"/>
... more such checkboxes that have a hidden backing field with dictionary key and some other value guid.
on the server I expect:
ActionResult PostMe(Dictionary<Guid, Guid[]> dict){..
Where this dictionary should be filled with one key(GUID1) and many values (in array) - GUID2, 3, n.
Если быть точным, в моем методе действия я принимаю модель представления, которая имеет свойство Dictionary MyDict, но это вряд ли уместно.