首先是没有参数的后台方法(该方法是加载客户端下来菜单控件):
public string GetRole()
{
string result = "";
DataSet ds = a.SelectRole("");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
result += ds.Tables[0].Rows[i]["ID"].ToString() + "," + ds.Tables[0].Rows[i]["RoleName"].ToString() + "|";
}
return result.TrimEnd('|');
}
这是前台调用(红色部分就是关键点):
function testRole() {
var strdsa='<%= getRole() %>'
alert(strdsa);
var selerole = document.getElementById("selRole");
if (selerole.options.length) {
delesele();
}
//以|分解
var strRole = strdsa.toString().split("|");
for (var i = 0; i < strRole.length; i++) {
var tempitem = strRole[i];
var tempitems = tempitem.split(",");
selerole.options.add(new Option(tempitems[1], tempitems[0]));
}
}
这是一个带参数的方法:
protected string CsharpVoid(string strCC)
2{
3 strCC = "你好!" + strCC;
4 return strCC;
5}前台JS
1 function Init()
2 {
3 var v = "中国";
4 var s = '<%=CsharpVoid("'+v+'") %>';
5 alert(s);