将下拉列表呈现为ASP.NET MVC中特定操作的文本

时间:2010-05-19 20:08:50

标签: c# asp.net-mvc

我有部分视图用于编辑和创建模型。当用户正在编辑模型时,我希望将特定的下拉列表呈现为文本,因为我不希望它们更改它。只读下拉就足够了,但我更喜欢文字。

我想我可以通过扩展方法实现这一点,但我不太清楚如何开始。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

这是我尝试的(并且它有效) - 虽然我不喜欢我的观点中的if / else:)

<% if (ViewContext.Controller.ValueProvider.GetValue("action").RawValue.Equals("Edit"))
       { %>
    <span><%= Event.Retailer.Name%></span>
    <%= Html.Hidden("Retailer", Event.Retailer.Id) %>
    <%}
       else
       { %>
    <%=Html.DropDownList("Retailer", Model.Retailers, "Select", new { @class = "field select large required" })%>
    <%= Html.ValidationMessage("Retailer", "*")%>
    <%} %>