2009-08-04 1 views
2

Каков наилучший способ передачи случайных данных из представления в контроллер.Как передать данные из контроллера в asp.net mvc

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

+2

Вы имеете в виду ... от вашего контроллера до вашего вида? – womp

+1

Не могли бы вы дать нам больше информации о html и действиях, о которых вы говорите ...? – Charlino

ответ

1

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

подпись будет выглядеть следующим образом:

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Index(FormCollection form) 
{ 
    // logic here to 
} 
+0

если это не рекомендуется, то какова будет альтернатива? – leora

+1

AFAIK, это единственный способ передать общие параметры контроллеру. Рекомендуемый подход - создать контроллер для каждой страницы. Просто кусайте пулю и делайте это, если хотите, чтобы вы рекомендовали. В конце концов, ваше приложение должно создавать и поддерживать, и у вас есть последнее слово на выбранном вами решении - все, что мы можем сделать, это предложить вам потенциальные решения. –

1

Не уверенны о «случайных данных» - но, возможно, речь идет действительно о «взглядов, которые идентичны»

Вынесите общие части в частичные и разные части на странице, если это позволяет макет.

Тогда у вас будет несколько страниц, но не будет дублировать код.

Или ваша проблема больше на стороне контроллера/модели?

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