我有这样的行动:
[ObjectRequired]
public ActionResult Campaign(int? id, SomeClass object = null)
{
...
}
我需要的是路由到这个动作:
a)只有int参数(... / Campaign / 12345)
b)没有参数(可选)(... / Campaign)
MVC错误说,没有非参数构造函数(如果删除“object”参数 - 没关系)。但我不能删除“对象”参数,因为我需要检查一些值并从[ObjectRequired]属性传递值,如下所示:
filterContext.ActionParameters["object"] = _someObject;
我不想使用像ViewData这样的结构。哪里是正确的方式?
答案 0 :(得分:0)
我不会百分之百地说我要说的但是我会说它好像我... ...
您无法将对象传递给get 。您可以传回参数并使用自定义路由处理程序为您构建对象。
您还可以将对象保存在数据中,并使用实体框架来获取模型。
您也可以使用 TempData ,但这类似于 ViewData 。
您也可以在会话中保留它。