我对Jquery和updatepanel上的部分回发有一个非常奇怪的问题。
我所做的是在代码后面创建一个jquery逻辑并使用:
Page.ClientScript.RegisterStartupScript(this.GetType(),“jsSlider”+ select.ClientID,sb.ToString());
在转发器中创建Jquery Slider功能。然而,发生的事情是当我把它放在更新面板里面它运行正常并且jquery滑块工作但任何部分回发并且我失去了我可爱的jquery滑块功能,因为我需要在每次部分回发后重新绑定滑块功能。
如何使用类似的代码执行此操作,例如 Page.ClientScript.RegisterStartupScript(this.GetType(),“jsSlider”+ select.ClientID,sb.ToString());
还有另一种方式可以说 Page.ClientScript.EVERYPOSTBACK(this.GetType(),“jsSlider”+ select.ClientID,sb.ToString()); 或者什么?我愿意接受其他建议吗?
答案 0 :(得分:0)
您可以在前端代码的javascript中使用“pageLoad”功能。 pageLoad函数在初始页面加载和每次部分回发后调用。如果有些事情只需要在初始页面加载时调用,您仍然希望将它们放入文档准备就绪。
<script type="text/javascript">
function pageLoad()
{
//...
//anything you want to happen every time the page loads or after a partial postback
//...
//your javascript here... below an example of using jquery on some asp.net control.
$('#<%= select.ClientID %>').foo('bar');
}
</script>
http://www.asp.net/ajax/documentation/live/overview/AJAXClientEvents.aspx在页面的1/3左右有更多关于此的详细信息。
答案 1 :(得分:0)
如果您仍然需要答案,则可以使用 ClientScript.RegisterStartupScript 来模拟UpdatePanel的部分回发。请尝试 ScriptManager.RegisterStartupScript 。