MoX*_*lod 6 .net c# asp.net-mvc
当我有这样的控制器动作.
public ActionResult _Files(long parentid)
{
Run Code Online (Sandbox Code Playgroud)
如果你从没有parentid的浏览器调用该操作.它抛出一个System.ArgumentException和一个500响应
参数字典包含方法'System.Web.Mvc.ActionResult _Files'的非可空类型'System.Int64'参数'parentid'的空条目
如果没有PARENTID设计,不应该调用该动作.有没有办法不抛出异常(并返回500响应),而是返回400错误请求或未找到404(其中任何一个会更有意义的IMO).寻找一种能够在Web应用程序中以通用方式执行此操作的解决方案?
您可以执行以下操作:
public ActionResult _Files(long ? parentid)
{
Run Code Online (Sandbox Code Playgroud)
ParentId 可为空。
那么在你的action中,你需要进行如下处理:
public ActionResult _Files(long ? parentid)
{
if(parentId.HasValue == false) {return some http status code;}
// Then you can use parentId with its Value property.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2608 次 |
| 最近记录: |