我基本上在我的UpdatePanel中有一个文字,它根据我背后的代码中的方法生成一个javascript数组。
在以页面加载方式加载我的内容时,我没有任何问题。但是,如果我尝试执行搜索以更新我的updatepanel中的javascript数组文字,则会发现在触发javascript之后,文字会在回发时进行更新。
这是我所拥有的基本示例:
<script type="text\javascript"> function BindMyFunction(itemList) { //Do something } </script> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <!-- Literal containing generated JS array --> <asp:Literal ID="ProfileJavscriptOutput" runat="server"></asp:Literal> <ul id="person-search"> <li><asp:TextBox ID="TxtFirstname" runat="server" Text=""></asp:TextBox></li> <!-- Update Literal onClick --> <li><asp:ImageButton CssClass="searchbtn" ID="ImageButton1" runat="server" OnClick="ImageButton1_Click" /></li> </ul> <!-- Some jCarousel rendered --> </asp:UpdatePanel>
但是我似乎无法正确地将其应用于代码。
当我不使用UpdatePanel时,效果很好。但这是一个要求,以便在执行搜索时页面位置不会移动。
您可以在Page_Load事件中添加以下代码:
ScriptManager.RegisterStartupScript(Me.rptGridAlbum, rptGridAlbum.GetType, "scriptname", "somejavascript", True)
这将在AJAX回调后触发您页面上的javascript。
MSDN