MVC 5 RouteConfig麻烦

时间:2015-07-22 12:49:18

标签: asp.net-mvc asp.net-mvc-5

我有这样的行动:

[ObjectRequired]
public ActionResult Campaign(int? id, SomeClass object = null)
{
    ...
}

我需要的是路由到这个动作:

a)只有int参数(... / Campaign / 12345)

b)没有参数(可选)(... / Campaign)

MVC错误说,没有非参数构造函数(如果删除“object”参数 - 没关系)。但我不能删除“对象”参数,因为我需要检查一些值并从[ObjectRequired]属性传递值,如下所示:

filterContext.ActionParameters["object"] = _someObject;

我不想使用像ViewData这样的结构。哪里是正确的方式?

1 个答案:

答案 0 :(得分:0)

我不会百分之百地说我要说的但是我会说它好像我... ...

您无法将对象传递给get 。您可以传回参数并使用自定义路由处理程序为您构建对象。

您还可以将对象保存在数据中,并使用实体框架来获取模型。

您也可以使用 TempData ,但这类似于 ViewData

您也可以在会话中保留它。