asp.net-mvc – MVC:仅在某些视图上创建模型参数
发布时间:2020-12-16 06:26:00 所属栏目:asp.Net 来源:网络整理
导读:为模型定义参数后 [Required(AllowEmptyStrings = false,ErrorMessage = "No null")][DisplayName("Name")]public string Name { get; set; } 是否可以为某些视图更改此参数的属性?例如,我想要为view1,view2和view3保留这些属性(必需属性),而不是view4.我可
为模型定义参数后
[Required(AllowEmptyStrings = false,ErrorMessage = "No null")] [DisplayName("Name")] public string Name { get; set; } 是否可以为某些视图更改此参数的属性?例如,我想要为view1,view2和view3保留这些属性(必需属性),而不是view4.我可以为view3禁用此属性吗? 解决方法
不,属性在编译时被烘焙到程序集中. 正确的方法是使用视图模型: public class CreateViewModel { [DisplayName("Name")] public string Name { get; set; } } public class EditViewModel { [Required(AllowEmptyStrings = false,ErrorMessage = "No null")] [DisplayName("Name")] public string Name { get; set; } } 以及从2个视图提交表单时调用的各自控制器操作将与视图模型一起使用: public ActionResult Create(CreateViewModel model) { ... the name will not be required here if (ModelState.IsValid) { } } public ActionResult Edit(EditViewModel model) { ... the name will be required here if (ModelState.IsValid) { } } 替代方法包括自定义模型绑定器或实现IValidatableObject接口,并根据当前操作进行一些动态验证.用两个词来说,你正朝着深渊走去.就个人而言,如果你不喜欢我推荐的解决方案,这不是我会搞砸的事情,但是如果你想在那个方向上自由探索. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – 在Map中注入时,StructureMap会警告 – 为什么?
- asp.net – 让网站暂时无法使用的优雅方式?
- asp.net-mvc-3 – MVC3 @ Html.DropDownList不填充所选项目
- asp.net-mvc-3 – 如何使用ASP.NET MVC 3“Razor”查看引擎
- ASP.NET Core MVC 过滤器的使用方法介绍
- asp.net-mvc – 如何使用FluentValidation在ClientSide中验
- asp.net – IIS7.5中的无扩展URL
- asp-classic – Classic ASP中的Response.Flush导致TIME_WA
- asp.net-mvc-3 – 将输入值传递给Action(ASP.Net MVC 3)
- 页面生成时间 – ASP.Net MVC
推荐文章
站长推荐
- asp.net – 从Web API的承载令牌返回用户角色
- 发布一款层次下拉列表控件
- asp.net-mvc-5 – 为什么我不能以种子用户身份登
- asp.net-mvc – 其中Simple Injector等效于Struc
- asp.net-mvc – MVC3 EF4 POCO存储库/ UnitOfWor
- ASP.Net C#MVC5 Razor查看XML站点地图
- asp.net – 让Visual Studios使用子域名?
- asp.net – 与SQL Server建立连接时出现网络相关
- 3 ways to use HTTPClientFactory in ASP.NET Co
- asp.net-mvc – ASP.NET MVC搜索路由
热点阅读