Проводка нескольких значений с использованием MVC - PullRequest
1 голос
/ 01 ноября 2010

У меня есть модель со свойством, которое указывает на файл, который содержит HTML. Мое строго типизированное представление этой модели использует собственный вспомогательный метод HTML для разрешения и возврата HTML из файла. Прекрасно работает до сих пор.

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

Каков наилучший способ получить доступ к контрольным значениям POST в моем методе контроллера?

Я бы предпочел решение, отличное от jQuery, но я не уверен, что инфраструктура MVC может предоставить мне эти значения? Может ли он как-то предоставить список пар ключ / значение контроллеру?

Ответы [ 3 ]

3 голосов
/ 01 ноября 2010

Вы можете использовать FormCollection в ASP.NET MVC.

public ActionResult SomeAction(FormCollection form) {
    ...
}
2 голосов
/ 01 ноября 2010

У вас есть два основных варианта.

1) Используйте старомодные переменные запроса, как все, что мы делали в веб-формах ASP.NET .

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

public ActionResult SomeAction() {
    var request = this.ControllerContext.HttpContext.Request;
    bool boolParam = bool.Parse( request["boolParam"] ?? "false" );
}

2) Создайте пользовательский связыватель моделей, чтобы платформа могла упаковать эти значения в объект пользовательского класса .

Этот метод был бы немного более сложным в начале, потому что вам нужно создать пользовательский связыватель модели, но он способствует удобочитаемости кода вашего контроллера. Для получения дополнительной информации о создании пользовательских связывателей моделей просмотрите следующие ссылки (вы можете найти больше с помощью простого поиска)

Надеюсь, это поможет

0 голосов
/ 01 ноября 2010

Является ли содержимое файлов HTML динамическим или известным во время разработки? Если вы знаете это сейчас, вы можете настроить каждый пост на свое действие, а затем строго ввести параметры.

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