用户控件RegisterScriptDescriptors循环参考

时间:2018-05-03 01:19:40

标签: c# .net user-controls

我不确定为什么在尝试注册脚本描述符时遇到循环引用。这是我的用户控件代码:

    protected void Page_Load(object sender, EventArgs eventArguments)
    {
    }

    protected override void OnPreRender(EventArgs eventArguments)
    {
        ScriptManager.GetCurrent(Page).RegisterScriptControl(this);
        base.OnPreRender(eventArguments);
    }

    protected override void Render(HtmlTextWriter htmlWriter)
    {
        ScriptManager.GetCurrent(Page).RegisterScriptDescriptors(this);
        base.Render(htmlWriter);
    }

我收到异常(System.InvalidOperationException:在序列化'ASP.global_asax'类型的对象时检测到循环引用。)在RegisterScriptDescriptors上。

这是我的整个Global.asax

<%@ Application Language="C#" %>
<%@ Import Namespace="System.Web.Optimization" %>
<%@ Import Namespace="System.Web.Routing" %>

<script runat="server">

void Application_Start(object sender, EventArgs e)
{
    StockPicker.BundleConfig.RegisterBundles(BundleTable.Bundles);
}

</script>

1 个答案:

答案 0 :(得分:0)

很抱歉,但是经过一番努力我才回答。我在控件中使用了另一个用户控件,我在GetScriptDescriptors方法中使用了该控件。这导致了循环引用。