C# ASP.MVC处理错误

C# ASP.MVC处理错误,c#,asp.net-mvc,C#,Asp.net Mvc,在ASP.NET Web表单中,我可以轻松完成以下任务: [...] try { DateTime date = Convert.ToDateTime("abc"); } catch(Exception ex) { lblErrorMessage.Text = ex.Message; } 现在的问题是:如何在ASP.NETMVC中实现同样的功能? 我一直在寻找它,找到的只是[HandleError]属性。如果出现异常,我不想将用户重定向到“Error.aspx”视图。我想在同一页

在ASP.NET Web表单中,我可以轻松完成以下任务:

[...]
try
{
    DateTime date = Convert.ToDateTime("abc");
}
catch(Exception ex)
{
   lblErrorMessage.Text = ex.Message;
}
现在的问题是:如何在ASP.NETMVC中实现同样的功能? 我一直在寻找它,找到的只是[HandleError]属性。如果出现异常,我不想将用户重定向到“Error.aspx”视图。我想在同一页中显示错误消息,就像在Web表单中一样

有什么想法吗

try
{
    DateTime date = Convert.ToDateTime("abc");
}
catch(Exception ex)
{
   ViewData["Error"] = ex.Message;
}
return View();
在视图或母版页中,检查是否设置了ViewData[“Error”]。如果是,请显示错误div

<% if (ViewData["Error"] != null)
{
    <div class="error"><%=html.encode(ViewData["Error"]) %></div>
}
%>

在视图或母版页中,检查是否设置了ViewData[“Error”]。如果是,请显示错误div

<% if (ViewData["Error"] != null)
{
    <div class="error"><%=html.encode(ViewData["Error"]) %></div>
}
%>

创建自己的属性,以实现。您也可以返回相同的视图,并在ViewData中设置一个值,但属性将为您提供更标准的处理方法。

创建您自己的属性,该属性将实现。您也可以返回相同的视图,并在ViewData中设置一个值,但属性将为您提供一种更标准的处理方法

try 
{ 
    DateTime date = Convert.ToDateTime("abc"); 
} 
catch(Exception ex) 
{ 
   ModelState.AddModelError("date", ex)
} 
然后在视图中

<%= Html.ValidationSummary() %>

然后在视图中

<%= Html.ValidationSummary() %>

我一直将ModelState与reglar(非强类型)视图一起使用。我一直将ModelState与reglar(非强类型)视图一起使用。