如何在EditorFor Template中动态添加禁用的属性?

时间:2014-02-03 19:42:47

标签: c# asp.net-mvc asp.net-mvc-4 editorfor

我有一个自定义EditorFor模板,我想用于DateTime字段。我希望能够检查用户是否处于某个角色,如果不是,则动态添加归因于文本框的disabled。我完全知道我可以在我的视图中检查这个并在那里添加disabled属性。但是,我有大约20个DateTime字段,如果可以避免,我不想检查他们的角色成员资格20倍。因此,我希望我的模板中有一种方法可以检查用户是否是管理员并在那里添加属性。可以这样做吗?

@model DateTime?

@if (Model != null)
{
    if (User.IsInRole("Administrator"))
    {
        @Html.TextBox("", Model.Value.ToShortDateString(), ViewData)
    }
    else
    {
        /*Dynamically add disabled attribute here*/
    }
}

我的观看电话:

@Html.EditorFor(m => m.Company.ActiveDate, "ShortDateTime", new {@class = "input-small has-date-picker"})

1 个答案:

答案 0 :(得分:1)

尝试在您的其他地方添加此内容

@Html.TextBox("", Model.Value.ToShortDateString(), ViewData, new { disabled = "disabled" })