MVC3 строго типизированная модель с несколькими входами - PullRequest
1 голос
/ 20 декабря 2011

Как я могу иметь несколько входов на странице, все они подаются в список моей модели, где модель определяется как

public class MatrixSet
{
    List<MatrixPoints> matrixPoints { get; set; }
}

public class MatrixPoints
{
    double x { get; set; }
    double y { get; set; }
}

Я не уверен, что использовать в представлении, чтобы иметь, скажем, 4 поля ввода, в которых все точки входной матрицы, а затем при публикации контроллер будет иметь модель типа matrixset, которая будет содержать список точек матрицы, введенных в Посмотреть. Я знаю, как сделать это без прохождения модели, но я стараюсь придерживаться лучших практик. Могу ли я просто иметь каждое поле ввода @ Html.TextBoxFor (), а затем оно просто заполнит список MatrixPoints в MatrixSet, предполагая, что в верхней части моего представления я использую @model Models.MatrixSet?

Ответы [ 2 ]

0 голосов
/ 21 декабря 2011

Вам нужно искать привязку коллекции к View, а позже, когда вы публикуете форму, вся коллекция собирается в ActionResult.

Это ссылка, которая поможет вам http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx

Это работает дляя.

Спасибо.

0 голосов
/ 21 декабря 2011

Найден ответ:

@Html.TextBoxFor(model => model.matrixPoints[0].x)
@Html.TextBoxFor(model => model.matrixPoints[0].y)

В этом отношении вы можете добавлять элементы в объекты модели итеративно и динамически, сохраняя при этом всю модель, когда форма размещена, и сохраняя проверку из определенной модели.

...