我的控制器里面有很多动作方法,每个方法都有自己的模型绑定为输入参数es。:
[HttpGet]
public MyActionMethod(MyCustomModel data){
...
}
...
public class MyCustomModel{
public int total {get;set;}
public string description {get;set;}
}
现在,如果我尝试调用方法传递正确的查询字符串参数集来构成MyCustomModel,一切都按预期工作。 如果我使用以下方法从另一个action方法重定向到action方法:
RedirectToAction("MyActionMethod", new { total=10, description="test"});
它也可以按预期工作。
问题在于我想要实现某种类型的强类型重定向:
RedirectToAction(c => c.MyActionMethod, new MyCustomModel{total=10, description="test"});
使用MvcContrib提供的扩展方法可以获得类似的东西但不幸的是,由于某种原因,扩展无法在查询字符串中组成正确的参数集,最终会出现错误的请求。
有什么想法吗?
答案 0 :(得分:0)
你可以做到
TempData["MyCustomModel"] = new MyCustomModel{total=10, description="test"});
然后
MyCustomModel model = TempData["MyCustomModel"] as MyCustomModel
在被重定向到的动作方法中。