C# RegisterStartupScript似乎无法在更新面板中进行页面回发
好的-所以我在一个使用自定义日期选择器控件的系统上工作,我知道还有其他的。。但对于一致性,我希望了解我当前的问题发生的原因并解决它 因此,它是一个带有文本框的自定义用户控件,在页面上,PreRender执行以下操作:C# RegisterStartupScript似乎无法在更新面板中进行页面回发,c#,updatepanel,registerstartupscript,C#,Updatepanel,Registerstartupscript,好的-所以我在一个使用自定义日期选择器控件的系统上工作,我知道还有其他的。。但对于一致性,我希望了解我当前的问题发生的原因并解决它 因此,它是一个带有文本框的自定义用户控件,在页面上,PreRender执行以下操作: protected void Page_PreRender(object sender, EventArgs e) { string clientScript = @" $(function(){ $('#" + this.
protected void Page_PreRender(object sender, EventArgs e)
{
string clientScript = @"
$(function(){
$('#" + this.Date1.ClientID + @"').datepicker({dateFormat: 'dd/mm/yy', constrainInput: true});
});";
Page.ClientScript.RegisterStartupScript(this.GetType(), this.ClientID, clientScript, true);
//Type t = this.GetType();
//if (!Page.ClientScript.IsStartupScriptRegistered(t, this.ClientID))
//{
// Page.ClientScript.RegisterStartupScript(t, this.ClientID, clientScript, true);
//}
}
忽略被评论掉的东西——那是我尝试了不同的东西——没有帮助
我的问题是,当我加载页面时,这些都可以正常工作。但如果我从下拉列表中选择某个内容导致页面回发,当我点击我的日期字段时,它们就会停止工作。如中所示,我应该能够点击文本框并显示一个漂亮的日历控件。但是在回发之后,就没有好的日历控件出现了
它目前全部包装在更新面板内的主机页面中。因此,我对更新面板上的内容进行了注释,日期在页面回发后生效。因此,它似乎与更新面板有关
有什么建议吗
谢谢 您是否尝试了ScriptManager而不是Page.ClientScript?我查看了一些以前使用UpdatePanels和jQuery编写的代码,以及使用ScriptManager编写的代码。我认为,如果脚本未向ScriptManager注册,则在部分回发期间脚本不可用 看起来像这样:
ScriptManager.RegisterStartupScript(Page, this.GetType(), "DatePickerScript", clientScript, true);
非常感谢:我想我以前遇到过这个问题,但记不起还有其他选择!!谢谢,节省了我很多时间。