【发布时间】:2017-11-17 13:20:59
【问题描述】:
我已经为asp.net mvc中的复选框编写了htmlhelper,但是当我想使用它时。它向我显示了一个异常。System.StackOverflowException' was thrown如何解决它。实际上,我还如何将复选框值提交给htmlhelper,我想向我的 htmlhelper 提交值复选框。
public static class HelperUI
{
public static MvcHtmlString CheckBoxSimple(this HtmlHelper htmlHelper, bool IsCheck, string name, object htmlAttributes)
{
string checkBoxWithHidden = htmlHelper.CheckBoxSimple(IsCheck, name, htmlAttributes).ToHtmlString();
string pureCheckBox = checkBoxWithHidden.Substring(0, checkBoxWithHidden.IndexOf("<input", 1));
return new MvcHtmlString(pureCheckBox);
}
}
<div class="col-md-6">
<div class="form-group row">
status
<div class="col-md-9">
@Html.CheckBoxSimple(true, "Status", new { @class = "form-control", placeholder = "status" })
</div>
</div>
</div>
【问题讨论】:
-
CheckBoxSimple的第一行是...调用自己。你期望那行代码做什么? -
@Damien_The_Unbeliever,我的目标是删除复选框中的隐藏值。why is Html.CheckBox generating an additional hidden input
-
调试器会很快告诉你。
-
那么,您是否打算写
htmlHelper.CheckBox(...而不是htmlHelper.CheckBoxSimple(...? -
我喜欢早上递归的味道
标签: c# asp.net-mvc html-helper