【发布时间】:2012-04-11 23:13:02
【问题描述】:
在您的动作签名中使用以下两种替代方案是否有任何优点/缺点:
public ActionResult Action(int? x) // get MVC to bind null when no parameter is provided
{
if(x.HasValue)
{
// do something
}
}
或
public ActionResult Action(int? x = null) // C# optional parameter (virtual overload)
{
if(x.HasValue)
{
// do something
}
}
【问题讨论】:
-
我认为在第一种情况下你需要参数,而在另一种情况下,如果没有传递参数,它会假定 null,所以它实际上是你真正想要的第二个(只是猜测)。
-
@V4Vendetta no 第一种情况在作为 Web 请求调用时不需要显式参数。
标签: c# .net asp.net-mvc asp.net-mvc-3 c#-4.0