如果我有以下的型号和行动:检测的操作方法空对象
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();
}
}
但这不起作用(暧昧)。我写了一个扩展方法给对象,它只是检查所有公共属性是否为默认值,但感觉应该有更好的方法。
正如我所说,现在已经实现了。它确实有效。 –
是的 - 我只是读了那部分:)。但我不认为这是一个问题,因为实质上说这个对象是“空的”,或者它的“等价物”。 –