你把closebox()函数写在一个js文件内如 test.js
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", " CloseBox();");
顺手写的,自己调试,我一直是这么做的
先引用js文件,再调用函数,
你的代码不成功的原因是调用RegisterStartupScript方法时没有找个closebox()函数
试试这样:
1. 第二个参数应该随便给个名字而不应该为空字符串,如:this.Page.ClientScript.RegisterStartupScript(this.GetType(), "CloseBox", "CloseBox();");
2. 确认CloseBox的js函数是否已经在aspx中定义好且无语法错误
3. 可以直接在body标签中定义一下onload="CloseBox()"看是否能正确执行,如果正确,那么在服务器端写的代码应该也可以执行。
用4个参数的方法即可,例:
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "dd", "CloseBox()", true);
不知道我理解的对不对!你是说在服务器端也就是CS里调用js的函数是不!
一个小例子
JS 代码
function show() {
alert("aa");
}
CS代码
StringBuilder strScript = new StringBuilder();
strScript.Append("");
this.ClientScript.RegisterStartupScript(this.GetType(), "show();", strScript.ToString(), false);
StringBuilder 的命名空间是包含在using System.Text;里的