asp.net MVV строго типизированный редирект с входным параметром на основе модели - PullRequest
0 голосов
/ 05 июля 2011

В моем контроллере есть несколько методов действия, каждый из которых имеет собственную модель, связанную как входной параметр es.:

[HttpGet]
public MyActionMethod(MyCustomModel data){
...
}

...

public class MyCustomModel{
    public int total {get;set;}
    public string description {get;set;}
}

Теперь, если я пытаюсь вызвать метод, передающий правильный набор параметров строки запроса для создания MyCustomModel, все работает как положено. Если я перенаправлю на метод действия из другого метода действия, используя:

RedirectToAction("MyActionMethod", new { total=10, description="test"});

Это также работает как ожидалось.

Проблема в том, что я хотел бы получить какое-то строго типизированное перенаправление что-то вроде:

RedirectToAction(c => c.MyActionMethod, new MyCustomModel{total=10, description="test"});

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

Есть идеи?

1 Ответ

0 голосов
/ 23 июля 2011

Вы могли бы сделать

TempData["MyCustomModel"] = new MyCustomModel{total=10, description="test"});

, а затем

MyCustomModel model = TempData["MyCustomModel"] as MyCustomModel

в методе действия, к которому перенаправляется.

...