这是我的行动方法
var model= db.PageData.FirstOrDefault();
if (model==null)
{
//return Error
}
reutrn View(model);
返回此错误的最佳做法是什么?以一种用户友好的方式,以及在发生错误时我可以识别它的方式。
答案 0 :(得分:6)
return new HttpStatusCodeResult(500);
然后在web.config中处理500个错误。
答案 1 :(得分:1)
我会创建一个错误视图,如果您预计会出现错误,请执行以下操作:
if(model == null)
{
ViewBag.Error = "Your x is not present, please try again later or contact xxx";
return View("Error");
}
在错误视图上,然后检查是否存在ViewBag.Error
。 (错误视图应该在共享视图中)。
注意我只会在您发生这种情况时执行此操作,然后您可以告知用户他们做错了什么。例如编辑某些内容,您可以将这些视图返回给他们,并向他们提供更多信息以了解他们做错了什么。
答案 2 :(得分:1)
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
中出错答案 3 :(得分:-1)
if(model == null)
{
TempData["Error"] = "Your x is not present, please try again later or contact
return View();
}
在您的cshtml页面上,您可以检查临时数据是否包含"错误输入",您可以显示您的用户详细信息。
@if (TempData["Error"] != null)
{
<div class="error">
@TempData["Error"].ToString
</div>
}