asp.net – 动态CheckBoxFor有一些禁用
发布时间:2020-12-16 06:30:59 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试创建一个动态CheckBoxFor,其中一些项被禁用. 这会禁用所有内容: @Html.CheckBoxFor(m=m.Checked,new { @disabled = "disabled"}) 我试图创造这样的东西没有成功: @Html.CheckBoxFor(m=m.Checked,new{ @disabled = @(Model.Disable ? "disabled"
我正在尝试创建一个动态CheckBoxFor,其中一些项被禁用.
这会禁用所有内容: @Html.CheckBoxFor(m=>m.Checked,new { @disabled = "disabled"}) 我试图创造这样的东西没有成功: @Html.CheckBoxFor(m=>m.Checked,new{ @disabled = @(Model.Disable ? "disabled" : "")}) 请注意,我的模型有一个名为Disabled的属性和另一个Checked. 解决方法
它不起作用,因为disabled属性会禁用CheckBox,无论它的值是什么.
我不知道如何在一行中做到这一点,但这是一个解决方案: @if(Model.Disabled) { @Html.CheckBoxFor(m=>m.Checked,new { @disabled = "disabled"}) } else { @Html.CheckBoxFor(m=>m.Checked) } 潜在的Html Helper扩展: public static MvcHtmlString CheckBoxFor<TModel>( this HtmlHelper<TModel> helper,Expression<Func<TModel,bool>> expression,object htmlAttributes,bool isDisabled) { var dic = htmlAttributes.GetType() .GetProperties() .ToDictionary(p => p.Name,p => p.GetValue(htmlAttributes,null)); if (isDisabled) dic["disabled"] = "disabled"; return helper.CheckBoxFor(expression,dic); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – aspx中的设计视图没有加载
- asp.net-mvc – 使用jQuery $.ajax()和$.post()发送字符串数
- asp.net – 如何在asp标签中将文本与中心对齐
- asp.net – 使用StartMode =“AlwaysRunning”在ASP .NET 4
- asp.net – Infragistics WebGrid与Telerik网格
- asp.net-mvc-5 – ASP.net身份禁用用户
- asp.net-mvc-3 – 如何为MVC3生成服务和存储库层
- asp.net-mvc – 更改数据注释中的验证消息
- asp.net http服务器推送到客户端
- 从开发ASP.NET转向Winforms应用程序的难关
推荐文章
站长推荐
热点阅读