2010-11-01 2 views
1

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

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

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

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

ответ

2

У вас есть по существу два варианта.

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

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

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

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

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

Надеется, что это помогает

+0

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

+0

Полностью согласен – Lorenzo

3

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

public ActionResult SomeAction(FormCollection form) { 
    ... 
} 
+0

Я пропустил упоминание об этом, так как он работает очень похоже на метод 1 по моему ответу. – Lorenzo

0

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

Смежные вопросы