Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从何处捕获自定义ModelBinder中的异常_C#_Asp.net Mvc_Modelbinders - Fatal编程技术网

C# 从何处捕获自定义ModelBinder中的异常

C# 从何处捕获自定义ModelBinder中的异常,c#,asp.net-mvc,modelbinders,C#,Asp.net Mvc,Modelbinders,我有一个定制的ModelBinder,它使用如下代码将web与对象绑定在一起” 此modelbinder可能会引发异常,我应该在哪里添加代码来捕获这些异常?提前感谢!从设计角度来看,模型绑定器最好添加模型错误,而不是引发异常: ModelState.AddModelError("Phone", "Phone number is invalid."); 这样,您可以在以后的操作中检查模型是否有效: if (!ModelState.IsValid) { ... } 谢谢!但我仍然希望保留

我有一个定制的ModelBinder,它使用如下代码将web与对象绑定在一起”


此modelbinder可能会引发异常,我应该在哪里添加代码来捕获这些异常?提前感谢!

从设计角度来看,模型绑定器最好添加模型错误,而不是引发异常:

ModelState.AddModelError("Phone", "Phone number is invalid.");
这样,您可以在以后的操作中检查模型是否有效:

if (!ModelState.IsValid)
{
    ...
}

谢谢!但我仍然希望保留查看页面,该页面在捕获异常后将被重定向。如何执行该操作,而不是在控制器中?在每个命令操作的每个控制器中都有Model.IsValid是个坏主意。
if (!ModelState.IsValid)
{
    ...
}