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”,错误));它起作用了。不知道能不能把它弄得更漂亮些?