作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个动态 CheckBoxFor,其中某些项目被禁用。
这是禁用一切:
@Html.CheckBoxFor(m=>m.Checked, new { @disabled = "disabled"})
@Html.CheckBoxFor(m=>m.Checked, new{ @disabled = @(Model.Disable ? "disabled" : "")})
最佳答案
它不起作用,因为 disabled 属性会禁用 CheckBox,而不管它的值是什么。
我不确定如何在一行中执行此操作,但这是一种解决方案:
@if(Model.Disabled)
{
@Html.CheckBoxFor(m=>m.Checked, new { @disabled = "disabled"})
}
else
{
@Html.CheckBoxFor(m=>m.Checked)
}
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 - Dynamic CheckBoxFor 禁用了一些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10132962/
我是一名优秀的程序员,十分优秀!