如果我有以下模型和操作:
public class Filters
{
public string Keyword {get;set;}
public int ArticleId {get;set;}
}
public class MyController : Controller
{
public ActionResult Full(Filters filters)
{
...
return View();
}
}
如果您路由到Full
没有查询字符串或表单变量的操作来填充值,filters
您只需获得一个new Filters()
.
我需要遇到一种情况,我知道情况是这样,或者查询字符串/表单变量是否有助于填充filters
.
我以为我可以使用多态性,例如:
public class MyController : Controller
{
public ActionResult Full()
{
var filters = <Perhaps read out of session state>
return Full(filters);
}
public ActionResult Full(Filters filters)
{
...
return View();
}
}
但这不起作用(模棱两可)。我为对象编写了一个扩展方法,它只是检查所有公共属性是否都是默认值,但感觉应该有更好的方法。