- Использовать отдельную ViewModel для ввода формы
- Использовать IEnumerable вместо списка
- Использовать [Bind (Exclude = "Pictures, ValidSizes")] для параметра ввода действия
- Использовать частные сеттеры
- Не создавать элементы ввода формы для Pictures / ValidSizes, если они вам не нужны
и т. Д.
Обновить:
Вы назначаете другую ViewModel не для представления, а для действия контроллера, которое обрабатывает щелчок по ссылке.И из ваших вопросов кажется, что вам нужно не одностороннее связывание, а избежание лишних символов в URL - потому что, если ваш ValidSizes имеет значение IEnumerable, он не будет изменен, и в любом случае в вашем URL его данные неверны, выигралне вызывает обновления - так что это уже «односторонняя» привязка.
Вот что я могу найти для вашей проблемы: http://forums.asp.net/t/1328683.aspx
Что касается решения, я никогда не использую помощник ActionLink сампотому что это дырявая абстракция и я не люблю с ней бороться.Простой HTML-тег ссылки всегда намного лучше.
<a href="<%= Html.BuildUrlFromExpression<>() %>" />
Я на самом деле использую для этого свою собственную версию BuildUrlFromExpression в несколько строк.Также смотрите в ссылке выше, как вы можете передавать параметры через анонимный объект вместо Model (new {PageSize = Model.PageSize, index = Model.index}).