【发布时间】:2018-05-01 14:17:51
【问题描述】:
我已经阅读了很多关于隐藏字段回合复选框的链接,我决定使用自定义 htmlhelper,但目前,当我删除 type="checkbox" 中的复选框字时,我在页面中看不到复选框,它显示为文本框我认为它对名称复选框的控件类型很敏感。
更新: 我没有任何带有隐藏值的输入 Picture
public static class HelperUI
{
public static MvcHtmlString CheckBoxSimpleFor<TModel>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, bool>> expression, object htmlAttributes)
{
string checkBoxWithHidden = htmlHelper.CheckBoxFor(expression, htmlAttributes).ToHtmlString().Trim();
string pureCheckBox = checkBoxWithHidden.Substring(0, checkBoxWithHidden.IndexOf("<input", 1));
return new MvcHtmlString(pureCheckBox);
}
}
<div class="col-md-6">
<div class="form-group row">
<label class="text-right col-md-3">وضعیت</label>
<div class="col-md-9">
@Html.CheckBoxSimpleFor(model => model.Status, new { @class = "form-control filled-in" })
</div>
</div>
</div>
【问题讨论】:
-
position: absolute; left: -9999px; opacity: 0 -
CSS sn-p 是您无法看到复选框的原因。它不在屏幕上,不透明度为零。如果您查看开发人员工具中的 CSS 检查器,您可以看到 CSS 处于活动状态。
-
@serpent5,是的,它确实对我有用,但我稍微改变了样式。 '位置:未设置!重要;' '不透明度:1 !important;'
标签: c# asp.net-mvc checkbox html-helper