Also habe ich eine Erweiterungsmethode für die Html.CheckBoxFor() -Methode, die den Benutzer in einer Reihe von Berechtigungen wie dies passieren kann:HTML Helper Extension-Methode für Html.TextBox
<%= Html.CheckBoxForWithPermission(m => m.Current, new string[] { PERMISSIONS.hasICAdvanced }, new { @class = "economicTextBox", propertyName = "Current", onchange = "UseCurrent();UpdateField(this);" })%>
Das Verfahren sieht aus wie dies:
public static MvcHtmlString CheckBoxForWithPermission<TModel>(
this HtmlHelper<TModel> htmlHelper,
Expression<Func<TModel, bool>> expression,
string[] permissions,
object htmlAttributes
)
{
foreach (string permission in permissions)
{
if (Chatham.Web.UI.Extranet.SessionManager.PhysicalUser.IsInRole(permission))
{
// the user has the permission => render the checkbox
return htmlHelper.CheckBoxFor(expression, htmlAttributes);
}
}
// the user has no permission => render a readonly checkbox
var mergedHtmlAttributes = new RouteValueDictionary(htmlAttributes);
mergedHtmlAttributes["disabled"] = "disabled";
return htmlHelper.CheckBoxFor(expression, mergedHtmlAttributes);
}
Grundsätzlich möchte ich die genau die gleiche Sache mit Ausnahme eines Html.TextBox Verfahren schaffen, die wir zur Zeit wie folgt aufrufen:
<%= Html.TextBox("RateTimeStamp", Model.RateTimeStamp.HasValue ? Model.RateTimeStamp.Value.ToString("dd-MMM-yyyy") : "", new { @class = "economicTextBox", propertyName = "RateTimeStamp", onchange = "parseAndSetDt(this);", dataType = "Date" })%>
Da dieser Helfer ein bisschen anders ist, bin ich nicht wirklich sicher, wie man die Methode formatiert.
Jede Hilfe würde sehr geschätzt werden. Vielen Dank!