我确信这是相当简单但我无法让它工作。我想在我的页面添加一个javascript函数,但只有当页面回发时。
所以我有一个调用一些服务器端代码的按钮,当它完成并且页面重新加载时我希望调用javascript函数。
考虑到这一点,我想我可以添加一个隐藏变量并在单击按钮时设置它,但我想我只是在加载时将javascript插入到页面上。
这可能,甚至是一种好方法吗?
谢谢, 尼尔
编辑:好的,这是我在C#代码中的OnClick方法。
protected void Save(object sender, EventArgs e)
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "<script type=\"text/javascript\">alert('hello world');</script>");
EnforcementMatch(false);
EnforcementMatch(true);
ApplicationNotMatch();
ApplicationMatch();
Response.Redirect(Request.Url.ToString());
}
另一个编辑:刚刚意识到底部的response.redirect重新加载我的页面,取消了我输入的代码,呃!
答案 0 :(得分:4)
您可以使用ClientScriptManager.RegisterClientScriptBlock
http://msdn.microsoft.com/en-us/library/btf44dc9.aspx
如果您将其置于按钮点击事件中,则无需担心是否为回发。
答案 1 :(得分:2)
答案 2 :(得分:0)
将其放在单独的脚本块中,仅在回发时呈现。
<script type="text/javascript" runat="server" visible="<%#this.IsPostBack %>">
TheCode();
</script>
答案 3 :(得分:0)
此脚本将在updatepanel
的每一个回发中触发<script type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
alert('hello world');
});
</script>