gpt4 book ai didi

asp.net-mvc-3 - 使用接口(interface)作为局部 View 的模型类型+数据注释

转载 作者:行者123 更新时间:2023-12-04 08:13:33 24 4
gpt4 key购买 nike

我有一个复杂的局部 View 需要不同的字段验证的情况,具体取决于使用局部 View 的位置。

我想我可以通过使局部 View 将接口(interface)作为模型类型并基于该接口(interface)实现两个不同的 ViewModel 来解决这个问题。两个 ViewModel 中的数据注释会有所不同。然后,我会为局部 View 提供正确 ViewModel 的实例。

但我发现唯一能识别的注释是界面本身的注释。接口(interface)实现 ViewModel 类上的 DA 被忽略,即使这些是作为模型传递的对象。所以我的计划行不通。

有没有解决的办法?更好的方法?如果可以避免的话,我不希望将部分 View 拆分为单独的 View 。

ETA:这是部分 View 的缩写版本,根据要求:

@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>

真正的局部 View 很长,并且有很多 @if 语句来管理可选部分的呈现(或不呈现),但它并没有做任何棘手的事情。

最佳答案

我的想法行不通:this thread提醒我,类不会从其接口(interface)继承属性。 (正如答案所指出的,如果两个接口(interface)指定了具有不同属性的相同属性,并且都由一个类实现,会发生什么?)

它可能适用于通用基类。我明天试试。

谢谢大家。

关于asp.net-mvc-3 - 使用接口(interface)作为局部 View 的模型类型+数据注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9897206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com