Почему Html.Hidden не будет создавать скрытые поля с тем же именем, но с другим значением - PullRequest
1 голос
/ 11 октября 2011

Я пытаюсь создать скрытый список, поэтому я использую скрытые поля с тем же именем, однако Html.Hidden выводит существующее значение вместо нового. Итак, этот код ...

<% 
    for (int i = 0; i < Model.ProductIds.Count; i++)
    { %>
<%: Html.Hidden("ProductIds", Model.ProductIds[i], new { id=""})%>
<br />
Iteration:<%:i %>
Guid:<%:Model.ProductIds[i]%>
<br />
<% } %>

генерирует этот HTML

<input name="ProductIds" type="hidden" value="48906f4c-1719-43ab-9d7e-c336a71b8624">
<br>
Iteration:0
Guid:48906f4c-1719-43ab-9d7e-c336a71b8624
<br>
<input name="ProductIds" type="hidden" value="48906f4c-1719-43ab-9d7e-c336a71b8624">
<br>
Iteration:1
Guid:b4f01496-dddf-41f2-a05b-43392d779a44
<br>

Обратите внимание, что, хотя идентификаторы разные, сгенерированные скрытые поля получили одинаковое значение. Почему это происходит, и есть ли способ обойти это?

Ответы [ 2 ]

1 голос
/ 11 октября 2011

Я не уверен, почему это происходит, но простой способ - просто создать HTML самостоятельно:

<% 
    for (int i = 0; i < Model.ProductIds.Count; i++)
    { %>
<input name="ProductIds" type="hidden" value="<%:Model.ProductIds[i]%>">
<br />
Iteration:<%:i %>
Guid:<%:Model.ProductIds[i]%>
<br />
<% } %>
0 голосов
/ 11 октября 2011

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

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