MVC3 Html.BeginForm - передача аргументов как RouteValueDictionary не выполняется

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

http: // localhost: 6618 / Account / Profile? Wizard = true & cats = dogs

@using (Html.BeginForm ())

отлично работал. Он дал:

, т.е. он передал в действие POST любой из исходных параметров строки запроса, а затем в этом Действие контроллера. Я мог выбрать, какие из них уместны для перехода к следующему шагу или которые необходимо добавить, добавив к RouteValues ​​и RedirectToResult.

Однако мне нужно назначить класс моей форме для стилизации.

Я пробовал:

@using (Html.BeginForm ("Profile", "Account", args, FormMethod.Post, new {@class = "mainForm"}))

, что дает:

( args был сгенерирован фильтром и является RouteValueDictionary). Спецификация http://msdn.microsoft.com/en-us/library/dd505151.aspx указывает, что вы можете передавать аргументы с помощью System.Web.Routing.RouteValueDictionary.

Я хочу

Я должен упомянуть, что предпочел бы ничего не делать например, вместо передачи new {key = value} , поскольку существует изрядное количество логики для определения того, что я буду передавать следующему шагу.

Есть предложения, что здесь делать?

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

7
задан Erica 27 January 2012 в 02:43
поделиться