C#调用JS
今天用到 Page.RegisterClientScriptBlock(("aa", "<script type=\"text/javascript\">showTab('tz')</script>");
却发现一点反应都没有,查了些资料才想起来 前台没有runat=“server” 的form元素做承载,我这个羞愧啊~~ 哈哈
今天总结一下c#调用JS的几种常用方法
1.Page.Resopone.wrtie ("<script> js语句</script>");
这种适用于方法体比较简单的,alert之类的
2.Page.RegisterClientScriptBlock/ Page.RegisterStartupScript
这种方法适合方法体复杂一些的,但是前台aspx中必须有runat=“server” 的form元素做承载
1、调用js文件,举例:<script src="../Script/PublicScript.js" type="text/javascript"></script>
2、直接写,举例:
<script language="javascript">
脚本内容...
</script>
然后调用
3、后台代码中:
(1)、可以加在空间的属性中,例如一个按钮:
button1.Attributes.Add("事件名","js内容");
(2)、在代码中写,例如:ClientScript.RegisterStartupScript(GetType(), "", "<script>js内容</script>"); 这种方法适用大部分控件。
把closebox()函数写在一个js文件内如 test.js
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script src=test.js></script> CloseBox();");
先引用js文件,再调用函数,
例子:
<head runat="server">
<title></title>
<script language="javascript" type="text/javascript">
function CloseBox() {
window.alert("aaaaaaaaaaaaaaa");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "closeFunction", "CloseBox();", true);