在 asp.net mvc 中返回错误的最佳做法是什么
what is the best practice for returning a error in asp.net mvc
这是我的操作方法
var model= db.PageData.FirstOrDefault();
if (model==null)
{
//return Error
}
reutrn View(model);
返回此错误的最佳做法是什么?以一种用户友好的方式,并且在它发生时我可以识别这个错误。
return new HttpStatusCodeResult(500);
然后处理 web.config 中的 500 个错误。
我会创建一个错误视图,然后在您预期会出现错误时执行类似的操作:
if(model == null)
{
ViewBag.Error = "Your x is not present, please try again later or contact xxx";
return View("Error");
}
在您的错误视图中,然后检查 ViewBag.Error
是否存在。 (错误视图应该在共享视图中)。
请注意,我只会在您排除它发生时才这样做,然后您可以通知用户他们做错了什么。例如编辑某些内容,您可以 return 他们查看此视图并向他们提供更多有关他们做错了什么的信息。
if(model == null)
{
TempData["Error"] = "Your x is not present, please try again later or contact
return View();
}
在您的 cshtml 页面上您可以检查临时数据是否包含 "Error entry",您可以显示您的用户详细信息。
@if (TempData["Error"] != null)
{
<div class="error">
@TempData["Error"].ToString
</div>
}
MVC 中的全局错误处理
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Server.ClearError();
Response.Redirect("/Home/Error");
}
}
see here 用于 asp.net mvc
中的错误处理
这是我的操作方法
var model= db.PageData.FirstOrDefault();
if (model==null)
{
//return Error
}
reutrn View(model);
返回此错误的最佳做法是什么?以一种用户友好的方式,并且在它发生时我可以识别这个错误。
return new HttpStatusCodeResult(500);
然后处理 web.config 中的 500 个错误。
我会创建一个错误视图,然后在您预期会出现错误时执行类似的操作:
if(model == null)
{
ViewBag.Error = "Your x is not present, please try again later or contact xxx";
return View("Error");
}
在您的错误视图中,然后检查 ViewBag.Error
是否存在。 (错误视图应该在共享视图中)。
请注意,我只会在您排除它发生时才这样做,然后您可以通知用户他们做错了什么。例如编辑某些内容,您可以 return 他们查看此视图并向他们提供更多有关他们做错了什么的信息。
if(model == null)
{
TempData["Error"] = "Your x is not present, please try again later or contact
return View();
}
在您的 cshtml 页面上您可以检查临时数据是否包含 "Error entry",您可以显示您的用户详细信息。
@if (TempData["Error"] != null)
{
<div class="error">
@TempData["Error"].ToString
</div>
}
MVC 中的全局错误处理
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Server.ClearError();
Response.Redirect("/Home/Error");
}
}
see here 用于 asp.net mvc
中的错误处理