您的位置:首页 > 编程语言 > ASP

asp.net后台调用前台js的两种方法

2011-06-09 09:50 615 查看
第一种,在页面的时候调用:

cs后台代码:TCSTAR7034

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "testalert", " <script type=text/javascript >testAlert();</script>");
}
}

前台加上js代码:贾斯丁发型

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

第二 种,在按钮点击时触发:

protected void Button1_Click(object sender, EventArgs e)
{
//在这里写上你的代码
Label1.Text = "测试";

//下面执行js代码
this.Page.ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "testalert", "testAlert()", true);
}

这两种调用一般会刷新页面。

有一个问题需要注意,如果把这个按钮弄成异步的话,事件就触发不了了。

如:在UpdatePanel中,用Triggers引用的话,事件就触发不了。

<Triggers>
<asp:PostBackTrigger ControlID="Button1"/>
</Triggers>

最后,讲一下RegisterStartupScript和RegisterClientScriptBlock的差别:

Page.ClientScript.RegisterStartupScript(Page.GetType(),"alert1", "alert('test')",true);

在生成页面的后半部分!!
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(),"alert1", "alert('test')",true);
在生成页面的前半部分!!
其中true,表示可以不输入<script> </script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: