J'ai donc cette zone de texte sur la page:TextBoxFor l'extension HtmlHelper
<%= Html.TextBox("EffectiveDate", Model.EffectiveDate.HasValue ? Model.EffectiveDate.Value.ToString("dd-MMM-yyyy") : "", new { @class = "economicTextBox", propertyName = "EffectiveDate", onchange = "parseAndSetDt(this); ", dataType = "Date" })%>
stocke et affiche une date à l'aide d'un sélecteur de date. Fondamentalement, en fonction de l'autorisation des utilisateurs, je veux que cette zone de texte soit désactivée/activée. C'est bien, je peux le faire déjà, cependant, je veux faire la valeur textbox = date actuelle SI ils ne sont pas autorisés à changer la valeur. Je peux utiliser cette extension HTML pour le désactiver w/autorisations:
public static MvcHtmlString TextBoxWithPermission(this HtmlHelper htmlHelper,
string name,
object value,
string[] permissions,
object htmlAttributes)
{
foreach (string permission in permissions)
{
if (Chatham.Web.UI.Extranet.SessionManager.DisplayUser.IsInRole(permission))
{
// the user has the permission => render the textbox
return htmlHelper.TextBox(name, value, htmlAttributes);
}
}
// the user has no permission => render a readonly checkbox
var mergedHtmlAttributes = new RouteValueDictionary(htmlAttributes);
mergedHtmlAttributes["disabled"] = "disabled";
return htmlHelper.TextBox(name, value, mergedHtmlAttributes);
}
Mais comment puis-je le remplir avec la date actuelle si elle est désactivé?