c mvc html 选中删除,在 MVC htmlAttribute中,如何设置被禁用_CSharp_开发99编程知识库...

这篇博客介绍了如何使用扩展方法增强ASP.NET MVC中HTML助手的功能,如`Html.TextBoxFor`,`Html.TextAreaFor`和`Html.CheckBoxFor`。通过创建一个静态类`InputExtensions`,实现了将对象转换为字典以便设置HTML属性,并根据条件添加`disabled`属性。这种方法简化了在视图中为表单元素添加自定义属性的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用 @SLaks 建議使用一個擴展方法,並使用耶利米克拉克的例子擴展方法我寫了所以我現在可以做一個擴展方法Html.TextBoxFor(m => m.FirstName,new{class='contactDetails',.. .},Page.User.IsInRole("administrator"));

不知道是否有更好的方法public static class InputExtensions

{

public static IDictionary TurnObjectIntoDictionary(object data)

{

var attr = BindingFlags.Public | BindingFlags.Instance;

var dict = new Dictionary();

if (data == null)

return dict;

foreach (var property in data.GetType().GetProperties(attr))

{

if (property.CanRead)

{

dict.Add(property.Name, property.GetValue(data, null));

}

}

return dict;

}

public static MvcHtmlString TextBoxFor(this HtmlHelper htmlHelper, Expression> expression, object htmlAttributes, bool disabled)

{

IDictionary values = TurnObjectIntoDictionary(htmlAttributes);

if (disabled)

values.Add("disabled","true");

return htmlHelper.TextBoxFor(expression, values);

}

public static MvcHtmlString TextAreaFor(this HtmlHelper htmlHelper, Expression> expression, object htmlAttributes, bool disabled)

{

IDictionary values = TurnObjectIntoDictionary(htmlAttributes);

if (disabled)

values.Add("disabled","true");

return htmlHelper.TextAreaFor(expression, values);

}

public static MvcHtmlString CheckBoxFor(this HtmlHelper htmlHelper, Expression> expression, object htmlAttributes, bool disabled)

{

IDictionary values = TurnObjectIntoDictionary(htmlAttributes);

if (disabled)

values.Add("disabled","true");

return htmlHelper.CheckBoxFor(expression, values);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值