c# - 用户控件 RegisterScriptDescriptors 循环参考
问题描述
我不确定为什么在尝试注册脚本描述符时遇到循环引用。这是我的用户控件代码:
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);
}
我在 RegisterScriptDescriptors 上收到异常(System.InvalidOperationException:在序列化“ASP.global_asax”类型的对象时检测到循环引用。)。
这是我的整个 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>
解决方案
对不起,但我挣扎了一下后回答了。我在控件中使用了另一个用户控件,并且在 GetScriptDescriptors 方法中使用了该控件。这导致了循环引用。
推荐阅读
- shell - 如何使用shell在循环中打印1-10,11-20等文件的行数?
- javascript - 点击时如何更改li标签
- reactjs - 'com.android.support:support-v4' 依赖问题
- apache-nifi - 在 Apache Nifi 中创建自定义处理器
- qt - 如何在 QT 的 tableview 中显示数据库中的特定列
- javascript - 函数将输入作为国家名称,并将输出作为该特定国家所有州的第一个字母的逗号分隔值发送
- angular - Testing angular auth guard redirection
- python - How to insert JSON result to database?
- mql4 - 如果关闭失败“禁止修改。订单离市场太近。”如何不执行挂起止损?
- ember.js - 多个嵌套路由内的 EmberJs 出口