从Asp.Net取消注册客户端脚本

时间:2011-02-23 21:05:31

标签: c# asp.net jquery-ui

我使用.Net ScriptManager类在Asp.Net页面注册了一个jQuery UI datepicker。

private void registerDatePicker(TextBox tb)
{
      if (tb != null)
      {
         ScriptManager.RegisterStartupScript(this, typeof(Page), "registerDatePicker" + tb.ID, "registerDatePicker('" + tb.ClientID + "');", true);
      }
}

因此,一旦我注册,我想从页面取消注册脚本。我怎么能这样做?

由于

@StackOverflowException回答后,

我想取消注册脚本的原因是,我有几个TextBox控件,它们将动态创建并与日期选择器挂钩。不仅注册了日期选择器,还注册了对话框和验证器脚本。因此,脚本在页面中变得越来越大。所以一旦我使用了控件,如果我不再使用控件,那么我想删除相关的注册脚本。

注意控件已创建并添加到Table

再次感谢。

3 个答案:

答案 0 :(得分:2)

此类脚本没有取消注册。我可以问你为什么要注销?它们通常在每个回发(异步或同步)上注册,例如,如果从代码隐藏完成,则将日期选择器连接到文本框。如果它只是你想要的第一次加载,比如显示一条消息,你就可以做这样的事情

if(!IsPostBack){

// register script

}

答案 1 :(得分:1)

我相信这可以在PageRequestManager endRequest事件中处理。

答案 2 :(得分:1)

jQuery使得它如此简单(并且紧凑),你真的不应该在服务器端做这件事(如果我理解你在做什么)。

只需在应使用日期选择器的文本框中添加一个类(如date-picker),然后在HTML页面上放置一行代码:

$('date-picker').datepicker();

您网页上的每个合适的文本框都将使用jQuery datepicker