asp.net-mvc-3 – 使用接口作为部分视图数据注释的模型类型
发布时间:2020-05-24 10:58:36 所属栏目:asp.Net 来源:互联网
导读:我有一种情况,复杂的局部视图需要根据部分视图的使用位置进行不同的字段验证. 我认为我可以通过使局部视图将接口作为模型类型并基于接口实现两个不同的ViewModel来解决这个问题.两个ViewModel中的数据注释会有所不同.然后,我将向部分视图提供正确的ViewModel
|
我有一种情况,复杂的局部视图需要根据部分视图的使用位置进行不同的字段验证. 我认为我可以通过使局部视图将接口作为模型类型并基于接口实现两个不同的ViewModel来解决这个问题.两个ViewModel中的数据注释会有所不同.然后,我将向部分视图提供正确的ViewModel的实例. 但我发现,唯一被识别的注释是界面本身的注释.实现ViewModel类的接口上的DA被忽略,即使这些是作为模型传递的对象.所以我的计划不起作用. 有没有解决的办法?更好的方法?如果可以避免,我宁愿不将局部视图拆分为单独的视图. ETA:这是部分视图的缩写版本,如下所示: @model IPerson
@Html.ValidationSummary(false)
<fieldset>
<table class="editForm">
<tr>
<td class="editor-label">
@Html.LabelFor(model => model.FirstName)
</td>
<td class="editor-field">
@Html.EditorFor(model => model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
</td>
<td class="editor-label">
@Html.LabelFor(model => model.LastName)
</td>
<td class="editor-field">
@Html.EditorFor(model => model.LastName)
@Html.ValidationMessageFor(model => model.LastName)
</td>
</tr>
</table>
<fieldset>
真正的局部视图很长,有很多@if语句管理可选部分的渲染(或不渲染),但它没有做任何棘手的事情. 解决方法我的想法不会起作用: this thread提醒我,类不会从其接口继承属性. (正如答案所指出的,如果两个接口使用不同的属性指定相同的属性,并且两个接口都由一个类实现,会发生什么?)它可能适用于公共基类.我明天会试试. 谢谢大家. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – executionTimeout和Server.ScriptTimeout之间的
- asp.net-mvc – 将SignalR与Azure表存储一起使用 – 什么架
- 实体框架 – Asp.Net Web API错误:’ObjectContent`1’类型
- VS 2015 Update 2 – 调试时不存在变量,为什么?
- ASP.NET DateTime Picker
- asp.net – Request.Browser.Platform不返回iPad,OSX或Wind
- iis – ServerManager构造函数在测试环境中崩溃
- asp.net-mvc – 启动了Just-In-Time调试器,没有必要的安全权
- asp.net-mvc – 使用ViewModels和对System.Web.Mvc的引用是
- asp.net 文件上传与刷新与asp.net页面与iframe之间的数据传
推荐文章
站长推荐
- ASP.NET Core中的依赖注入(vNext)
- asp.net-mvc – MVC 3 – Razor – 从模型打印值
- asp.net-mvc – ASP.NET MVC 3 Razor模板VS Rend
- asp.net – 什么是SNIReadSyncOverAsync,为什么需
- asp.net-mvc – 是否可以在每页捆绑脚本和样式
- asp.net-mvc – 确定是否在布局页面中调用了Rend
- 在ASP.NET中生成图像缩略图?
- asp.net-mvc – ASP.Net MVC – 处理不好的URL参
- 如何在asp.net webforms捆绑中将cdN添加到bundle
- 为什么Asp.Net MVC 5在_Layout.cshtml的底部放置
热点阅读
