我有一个模型MyModel
public class MyModel { [UIHint("Str")] public string Name {get;set;} }
在视图中,我使用
渲染模型
@Html.DisplayForModel("SomeTemplate")
因此,模型使用SomeTemplate作为DisplayTemplate。
因此UIHint没有在SomeTemplate中呈现。
是否有任何解决方案可以在另一个DisplayTemplate中呈现UIHint,或者根本不可能,
答案 0 :(得分:1)
您的代码中存在一些不一致之处。
首先,UIHint用于定义显示模板的名称以呈现给定属性,而不是在呈现的输出中添加字符串。
其次,DisplayForModel的参数不是显示模板的名称(根据模型名称的约定自动选择,或使用UIHint定义)
所以你能做的是: 假设您的模型类名为MyClass
在DisplayTemplates文件夹下创建名为MyClass.cshtml的显示模板
添加" Str"在模板内
调用不带参数的DisplayForModel(假设当前视图中的模型是相同的MyClass)
如果我误解了某些内容,请指出