繁体   English   中英

ASP.Net MVC错误验证-将自定义视图模型传递给视图时如何显示验证消息

[英]ASP.Net MVC Error Validation - How to display validation message when passing a custom view model to a view

我一直在向应用程序添加错误和业务验证,当我使用强类型化到一个模型的视图进行测试时,假设位置,我会收到验证摘要以及未通过的每个字段的验证消息,加上我的CSS会按预期突出显示适当的字段...

...当我使用强类型化为自定义视图模型的视图尝试此操作时,假设我将其传递给了位置-这样用户就可以输入新的

IEnumerable<Location> locations

,因此它将在新位置表格下方列出所有现有位置。 当我这样做时,我得到了验证摘要,但是没有显示每个字段的消息,cs也没有将*和突出显示应用于每个不正确的字段。

我使用的是Linq to SQL,因此我将所有验证都添加为部分类,因此在这种情况下,所有验证都来自部分类位置,据我所知,它将与linq to sql创建的设计器文件一起编译,添加我的业务验证。 是否发生此问题,因为我没有传递MyApp.Models.Location视图,而是传递了MyApp.Models.MyCustomViewModel视图? 如果是这样,我最好的方法是什么,这样我就可以只使用一种形式进行创建和列出?

我能够使它正常工作-我将POST方法中的返回值更改为return

return View(new MyCustomViewModel(location) { });

代替

return RedirectToAction(new MyCustomViewModel(location) { });

希望这对任何遇到我遇到的相同问题的人有所帮助-这是我自己对View与RedirectToAction的工作方式不同的误解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM