我刚才尝试在我的一个控制器中重载一个操作时,有点惊讶。
我有
public ActionResult Get()
{
return PartialView(/*return all things*/);
}
我已经添加了。
public ActionResult Get(int id)
{
return PartialView(/*return 1 thing*/);
}
我遇到了一个问题,突然两个方法都无法工作。
我通过将“id”设置为可为空,并删除另外两个方法来解决了这个问题。
public ActionResult Get(int? id)
{
if (id.HasValue)
return PartialView(/*return 1 thing*/);
else
return PartialView(/*return everything*/);
}
它起作用了,但我的代码变得有些丑陋!
有任何评论或建议吗?我必须接受控制器上的这个瑕疵吗?
谢谢,
Dave