C#调用JS

2024-11-16 00:21:07
推荐回答(5个)
回答(1):

你把closebox()函数写在一个js文件内如 test.js

this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", " CloseBox();");

顺手写的,自己调试,我一直是这么做的
先引用js文件,再调用函数,

你的代码不成功的原因是调用RegisterStartupScript方法时没有找个closebox()函数

回答(2):

试试这样:
1. 第二个参数应该随便给个名字而不应该为空字符串,如:this.Page.ClientScript.RegisterStartupScript(this.GetType(), "CloseBox", "CloseBox();");
2. 确认CloseBox的js函数是否已经在aspx中定义好且无语法错误
3. 可以直接在body标签中定义一下onload="CloseBox()"看是否能正确执行,如果正确,那么在服务器端写的代码应该也可以执行。

回答(3):

用4个参数的方法即可,例:
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "dd", "CloseBox()", true);

回答(4):

不知道我理解的对不对!你是说在服务器端也就是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;里的

回答(5):














this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "closeFunction", "CloseBox();", true);