Передать динамически созданный массив из View To Controller. ASP.NET MVC v1 - PullRequest
0 голосов
/ 21 октября 2009

У меня есть этот в представлении:

 <%
     foreach (var item in (List<MyType>)ViewData["MyTypeArray"])
                {
            %><tr>
                <td>
                    <%=Html.Encode(item.Name)%>
                </td>
                <td>
                    <%=Html.CheckBox("MyTypeFlags" + item.BitNumber),
                    /* Model goes here*/, 
                   new {@value = (1 << item.BitNumber)})%> // html attr
                </td>
            </tr>
            <%        
                }
            %>

и я хочу сделать что-то подобное в Контроллере:

  foreach (var item in MyDynamicallyCreatedArray)
            {
 //if (["MyTypeFlags" + item.BitNumber] != 0) // This shoud be changed
 }

Вопрос в том, как я должен объявить MyDynamicallyCreatedArray и пройти цикл?

Ответы [ 2 ]

2 голосов
/ 21 октября 2009

Вы должны посмотреть на использование "модели представления". В основном вы создаете «Модели» только для вашего представления, которые содержат элементы данных, которые вам нужны.

Я использую их довольно часто, и они действительно являются отличным способом ввода и вывода данных.

Например, вы можете посмотреть здесь: http://stephenwalther.com/blog/archive/2009/04/13/asp.net-mvc-tip-50-ndash-create-view-models.aspx

1 голос
/ 22 октября 2009

Взгляните на пост Фила Хаака, он немного обманчив с флажками, как будто флажок снят, тогда он не передает значение.

Привязка модели к списку

http://haacked.com/archive/0001/01/01/model-binding-to-a-list.aspx

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