Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/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# 将modelstate验证字符串转换为对象数组_C#_Asp.net Mvc_Mbunit - Fatal编程技术网

C# 将modelstate验证字符串转换为对象数组

C# 将modelstate验证字符串转换为对象数组,c#,asp.net-mvc,mbunit,C#,Asp.net Mvc,Mbunit,仍然对所有的可枚举项感到不舒服。我正在尝试这样做: Assert.IsTrue(actionResult.ViewData.ModelState.IsValid, null, Enumerable.ToArray<object>(actionResult.ViewData.ModelState as IEnumerable<object>)); 第三个参数原因(翻译成英文) System.ArgumentNullException:值不能为null。 参数名称:源 a

仍然对所有的可枚举项感到不舒服。我正在尝试这样做:

 Assert.IsTrue(actionResult.ViewData.ModelState.IsValid, null, Enumerable.ToArray<object>(actionResult.ViewData.ModelState as IEnumerable<object>));
第三个参数原因(翻译成英文)

System.ArgumentNullException:值不能为null。 参数名称:源 at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1源) 在D:…\Tests\MbUnitTests\ControllerTests.cs:row 85中的Coin.UnitTests.AccountControllerTests.MyTest()处

在加利奥。你是怎么做到的


顺便问一下,有人知道如何用英语获取这些信息吗?Vista是用瑞典语编写的。

ModelState
不实现
IEnumerable
,因此强制转换结果为null且
可枚举。ToArray()
不喜欢null,因此出现了异常

试着这样做:

var errors = actionResult.ViewData.ModelState.Errors.Select(e => e.ErrorMessage).ToArray();
Assert.IsTrue(actionResult.ViewData.ModelState.IsValid, string.Join("\n", errors));

ModelState
未实现
IEnumerable
,因此强制转换结果为null且
可枚举。ToArray()
不喜欢null,因此出现异常

试着这样做:

var errors = actionResult.ViewData.ModelState.Errors.Select(e => e.ErrorMessage).ToArray();
Assert.IsTrue(actionResult.ViewData.ModelState.IsValid, string.Join("\n", errors));

嗯,差不多。在做了一点修改之后,我打开了这个(编译的可能是不同版本的MCV?):var errors=actionResult.ViewData.ModelState.Values.Select(e=>e.errors.First().ErrorMessage.ToArray();Assert.IsTrue(actionResult.ViewData.ModelState.IsValid,string.Join(“\n”,错误));它起作用了。想知道它是否能变得更漂亮?嗯,有点。在做了一点修改之后,我打开了这个(编译的可能是不同版本的MCV?):var errors=actionResult.ViewData.ModelState.Values.Select(e=>e.errors.First().ErrorMessage.ToArray();Assert.IsTrue(actionResult.ViewData.ModelState.IsValid,string.Join(“\n”,错误));它起作用了。不知道能不能把它弄得更漂亮些?