在c# /ASP.net中注销javascript块
本文关键字:注销 javascript net ASP | 更新日期: 2023-09-27 18:06:33
在注册和取消注册javascript代码块时遇到问题。我如何取消注册gridqarefreshexposure report?
- 下面的代码将显示一个单选按钮列表,当我的网格的数据源为空。
-
选择后,页面将刷新,数据源和网格将被填充,单选按钮列表将由于GRIDqrarefreshexposurereport而隐藏。
-
单击取消按钮后,数据源被设置为null,页面被重新加载,网格为空,单选按钮列表从未出现,即使他们应该。
已经调试了代码,并且它通过正确的代码块运行,但是当我查看我的ASP.net页面的源代码时,javascript的两个块都存在,gridqrarefresh敞口报告块最后出现,这就是为什么我认为单选按钮列表没有重新出现。
如果有什么不清楚的地方,我将尽我所能澄清,任何关于如何使这一点更清楚的建议我都乐意接受。
if (gridExposureList.DataSource == null)
{
ClientScript.RegisterStartupScript(this.GetType(), "qrarefreshexposurereport", // Framework 2.0 conversion
@"<script language=""javascript"" type=""text/javascript"">
document.getElementById(""NoFilter"").style.display = ""None"";
document.getElementById(""RefreshEventsSummaryTiming"").style.display = ""none"";
document.getElementById(""RefreshEventsSummaryXPOS"").style.display = ""none"";
document.getElementById(""RefreshEventsSummaryFilter"").style.display = """";
document.getElementById(""QRAList"").style.display = ""none"";
document.getElementById(""RefreshExpRepFilter"").style.display = """";
document.getElementById(""GridButtons"").style.display = ""none"";
</script>
");
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "GRIDqrarefreshexposurereport", // Framework 2.0 conversion
@"<script language=""javascript"" type=""text/javascript"">
document.getElementById(""NoFilter"").style.display = ""None"";
document.getElementById(""RefreshEventsSummaryTiming"").style.display = ""none"";
document.getElementById(""RefreshEventsSummaryXPOS"").style.display = ""none"";
document.getElementById(""RefreshEventsSummaryFilter"").style.display = """";
document.getElementById(""QRAList"").style.display = ""none"";
document.getElementById(""RefreshExpRepFilter"").style.display = ""none"";
document.getElementById(""GridButtons"").style.display = """";
</script>
");
}
由于ClientScript.RegisterStartupScript
方法在每个post上注册代码块,因此似乎不需要取消注册/取消注册脚本块方法。如果你不想让任何代码块被注册,那就不要注册它。
只是一个猜测,你粘贴的上面的代码存在于Page_Load
方法中,如果是这样的话,为什么你有这个问题是有意义的,当post back发生设置gridExposureList.DataSource
为null时,Page_Load
方法首先执行,因为gridExposureList.DataSource
不是null,但它注册GRIDqrarefreshexposurereport
,然后调用事件为实际发生的post back…您可以做的是,跳过上面的代码,以防post返回,并在将网格的数据库源设置为null的事件中,添加代码以注册正确的脚本块。