从更新面板中更新变量

时间:2011-11-10 17:13:42

标签: c# ajax updatepanel

我试图从更新面板中更新变量:

<script type="text/javascript">
    var v = 1;


</script>

 <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>

            <asp:Button ID="btnDone" runat="server" Text="Done" onclick="btnDone_Click" />
            <asp:Literal ID="litnew" runat="server"></asp:Literal>
        </ContentTemplate>
    </asp:UpdatePanel>

<script type="text/javascript">
    function updateint() {
        alert(v);
    }
</script>

    <input type="button" onclick="updateint()" />

背后的代码

protected void btnDone_Click(object sender, EventArgs e)
{


    string kiss = LipImageCreator.createImage(); //this returns a file path

    litnewlipsurl.Text = "<script> v = '" + kiss + "'; </script>");

}

如果我在点击btnDone按钮之前单击按钮运行updateint()函数,我会按预期获得警告“1”。点击btnDone按钮后,javascript按预期写入文字,但是当我再次点击updateint()按钮时,我仍然得到'1',而不是我期待的文件路径....

1 个答案:

答案 0 :(得分:0)

您必须使用ClientScript.RegisterStartupScript()来获取ajax处理程序,以便在回发完成时运行您的脚本。