ASP.NET MVC 3数据属性 - 以编程方式从Controller设置UIHint
如果我有这样的ViewModel:
public class SignupViewModel
{
[Required]
[DisplayName("Email:")]
public string EmailAddress { get; set; }
}
并使用EditorFor渲染表单字段:
@Html.EditorFor(model => model.EmailAddress )
它将呈现<input type="text">
。凉。
但在这种特殊情况下,我已经从不同的来源检索了电子邮件,我希望用这些数据预先填写表格,并显示标签而不是文本框(因为我不希望他们更改他们的电子邮件 - 不要担心为什么)。
我知道我可以使用[UIHint]
,但我可以从控制器以编程方式执行此操作吗?
例如:
var model = new SignupViewModel();
model.EmailAddress = GetFromMysterySource(); // How do i set a UIHint?
什么是最好的方法来解决这个问题?我应该完全使用单独的ViewModel,这可能意味着将我的View从强类型更改为dynamic
,或者我不应该使用EditorFor
,还是应该使用自定义编辑器模板?
建议/建议将不胜感激。
没有找到相关结果
已邀请:
1 个回复
锹缄
如果您在多个位置执行此操作,那么执行相同操作的自定义编辑器模板可能会按顺序排列。