Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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# 在调试过程中,当发布的模型正常时,如何故意进入ModelStateError?_C#_.net_Visual Studio_Asp.net Mvc 4 - Fatal编程技术网

C# 在调试过程中,当发布的模型正常时,如何故意进入ModelStateError?

C# 在调试过程中,当发布的模型正常时,如何故意进入ModelStateError?,c#,.net,visual-studio,asp.net-mvc-4,C#,.net,Visual Studio,Asp.net Mvc 4,如果我的模型具有以下属性: public int Id { get; set; } public string Code { get; set; } public int Age { get; set; } 在HTTP POST方法上,我接收到这个对象: [HttpPost] public ActionResult Edit(MyModel model) { if (ModelState.IsValid) { } else { // how to

如果我的模型具有以下属性:

public int Id { get; set; }

public string Code { get; set; }

public int Age { get; set; }
在HTTP POST方法上,我接收到这个对象:

[HttpPost]
public ActionResult Edit(MyModel model)
{
   if (ModelState.IsValid)
   {

   }
   else
   {
      // how to get here?
   }
}

当发布的模型有错误时,我想重现这个场景。如何在内部调试?

如果不想更改代码:在
If(ModelState.IsValid)
处设置断点,并将下一个语句指示器(黄色箭头)拖动到
else
分支。

如果不想更改代码:在
If(ModelState.IsValid)处设置断点
并将下一个语句指示器(黄色箭头)拖动到
else
分支。

您可以使用手动将错误添加到模型状态


如果我想强制执行错误,有时我会这样做,以便在视图中测试某些验证消息,而不必设置数据的精确状态以使其无效。

您可以使用手动将错误添加到模型状态

如果我想强制执行错误,有时我会这样做,以便在视图中测试一些验证消息,而不必设置数据的精确状态以使其无效

ModelState.AddModelError("MyError", "This is the error message");