0

我有一个模型 MyModel

public class MyModel { [UIHint("Str")] public string Name {get;set;} }

在视图中,我正在使用渲染模型

@Html.DisplayForModel("SomeTemplate")

因此,模型使用 SomeTemplate 作为 DisplayTemplate。

所以 UIHint 没有在 SomeTemplate 中呈现。

是否有任何解决方案可以在另一个 DisplayTemplate 中呈现 UIHint 或者根本不可能,

4

1 回答 1

1

您的代码中有一些不一致之处。

首先,UIHint 用于定义显示模板的名称以呈现给定的属性,而不是在呈现的输出中添加字符串。

二、DisplayForModel的参数不是显示模板的名称(根据模型名称的约定自动选择,或者使用UIHint定义)

所以你可以做的是:假设你的模型类被命名为 MyClass

  1. 在您的 DisplayTemplates 文件夹下创建一个名为 MyClass.cshtml 的显示模板

  2. 在模板中添加“Str”

  3. 不带参数调用 DisplayForModel(假设当前视图中的模型是同一个 MyClass)

如果我误解了什么,请指出

于 2015-02-16T09:29:31.123 回答