Я унаследовал следующий код, и мне было интересно, смогу ли я поразмыслить над вашими мозгами, чтобы увидеть, есть ли лучший способ сделать это дубликатом.
Вот HTML для большинства наших частичных входных просмотров
<% if (Html.IsInputReadOnly()) { %>
<td>
Id
</td>
<td>
<%= Html.TextBox(
"Id"
, (Model == null ? null : Model.Id)
, new { @readonly = "readonly", @disabled="disabled" }
)%>
<% } elseif (Html.IsInputDisplayable() == false) { %>
<td></td>
<td></td>
<% } else { %>
<td>Id</td>
<td><%= Html.TextBox("Id")%>
<%= Html.ValidationMessage("Id", "*")%>
</td>
<%} %>
Вот мои методы увлечения
public static bool IsInputReadOnly(this HtmlHelper helper)
{
string actionName = ActionName(helper);
// The Textbox should be read only on all pages except for the lookup page
if (actionName.ToUpper().CompareTo("EDIT") == 0)
return true;
return false;
}
public static bool IsInputDisplayable(this HtmlHelper helper)
{
string actionName = ActionName(helper);
// The Textbox should be read only on all pages except for the lookup page
if (actionName.ToUpper().CompareTo("CREATE") == 0)
return true;
return false;
}
Заранее спасибо