Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我';我遇到了类型为'的异常;System.StackOverflowException';被扔了。用我自己的htmlhelper?_C#_Asp.net Mvc_Html Helper - Fatal编程技术网

C# 为什么我';我遇到了类型为'的异常;System.StackOverflowException';被扔了。用我自己的htmlhelper?

C# 为什么我';我遇到了类型为'的异常;System.StackOverflowException';被扔了。用我自己的htmlhelper?,c#,asp.net-mvc,html-helper,C#,Asp.net Mvc,Html Helper,我已经在asp.net mvc中为复选框编写了htmlhelper,但当我想使用它时,它显示了一个异常。System.StackOverflowException'被抛出如何解决它。我还知道如何将复选框值提交给htmlhelper事实上,我想将值复选框提交给我的htmlhelper public static class HelperUI { public static MvcHtmlString CheckBoxSimple(this HtmlHelper htmlH

我已经在asp.net mvc中为复选框编写了htmlhelper,但当我想使用它时,它显示了一个异常。
System.StackOverflowException'被抛出
如何解决它。我还知道如何将复选框值提交给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>
公共静态类帮助器ui
{
public static MvcHtmlString CheckBoxSimple(此HtmlHelper HtmlHelper、bool IsCheck、字符串名称、对象htmlAttributes)
{
字符串checkBoxWithHidden=htmlHelper.CheckBoxSimple(IsCheck,name,htmlAttributes).ToHtmlString();
string pureCheckBox=checkBoxWithHidden.Substring(0,checkBoxWithHidden.IndexOf(“s”)通常由无限循环或无限递归引起

在您的例子中,
CheckBoxSimple
正在无限期地调用自身:第一行调用
CheckBoxSimple
而不是
CheckBox

通常是由无限循环或无限递归引起的


在你的例子中,
CheckBoxSimple
无限期地调用自己:第一行调用的是
CheckBoxSimple
,而不是
CheckBox
CheckBoxSimple
的第一行调用自己。你希望那行代码做什么?@Damien_不相信者,我的目标是删除CheckBox中的隐藏值gger会很快告诉你的。那么,你是否打算编写
htmlHelper.CheckBox(…
而不是
htmlHelper.CheckBoxSimple(…
?我喜欢早上递归的味道,
CheckBoxSimple
的第一行是…在自我调用。你期望那行代码做什么?@Damien_不相信者,我的目标是删除checkbox中的隐藏值。调试器会很快告诉你这一点。那么,你是否打算编写
htmlHelper.checkbox(…
而不是
htmlHelper.CheckBoxSimple(…
)?我喜欢早晨递归的味道