2011-02-23 35 views
2

我使用.Net ScriptManager类在Asp.Net页面中注册了一个jQuery UI日期选择器。取消注册来自Asp.Net的客户端脚本

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

所以一旦我注册了,我想从页面上取消注册脚本。我怎样才能做到这一点 ?

感谢

@StackOverflowException答案后,

我想注销脚本是什么原因,我都将被动态地创建和日期选择器迷上几TextBox控制。不仅日期选择器被注册,对话框和验证器脚本也被注册。因此,脚本在页面中变得越来越大。所以一旦我使用控件,如果我不再使用控件,那么我想删除相关的注册脚本。创建

注意的控制和在Table

再次感谢补充。

回答

1

jQuery使得这非常简单(和紧凑),你真的不应该在服务器端做(如果我明白你在做什么)。

只是一个类(如date-picker)添加到要使用日期选择器的文本框,然后把一个单一的代码行HTML网页上:

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

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

+0

谢谢。这很酷。 – wonde

2

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

if(!IsPostBack){ 

// register script 

} 
1

我认为这可能在PageRequestManager endRequest事件进行处理。