<form id="form1" runat="server">
<input type="button" onclick="ceshi()" />
</body>onclick是鼠标单击时间, 单击btn调用ceshi()
代码如下:后台方法:
protected string CsharpVoid(string strCC)
{
strCC = "你好!" + strCC
return strCC
}
前台JS
function Init()
{
var v = "中国"
var s = '<%=CsharpVoid("'+v+'") %>'
alert(s)
}
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中
2、在前台写一个js函数,内容为document.getElementById("btn1").click()
3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;
方法二:
1、函数声明为public
后台代码
public string methodname() //注意该方法不能为void,否则执行会报错
{
return ""
}
2、在html里用<%=fucntion()%>可以调用
前台脚本
<script language=javascript>
var a = "<%=methodname()%>"
alert(a)
eval("<%=methodname()%>")//如果只是要执行服务端的一些代码也可以写为如下,这样就可以执行服务端代码了
</script>
方法三:利用PageMethods调用后台代码
实现方法三按照以下步骤:
1.在后台创建方法,必须是static(静态的),方法必须是public类型的,否则访问不到会报异常,
接着要在该方法头部上加上[System.Web.Services.WebMethod],来标注方法特性。
2.在前台页面加入ScriptManager控件,并把其EnablePageMethods属性设为true。
3.调用PageMethods,由于该方法有很多重载
PageMethods.FunctionName(回调的js方法) //其中FunctionName为后台创建的静态方法名,回调js方法为前台接受结果的方法。
PageMethods例子:
后台代码:
一.无参数方法
[System.Web.Services.WebMethod]
public static string ShowValue()
{
return "js调用后台方法"
}
二.有参数方法
[System.Web.Services.WebMethod]
public static string ShowValue2(string msg)
{
return msg
}
前端代码:
<script type="text/javascript">
//调用后台无参数方法
function bclick()
{
PageMethods.ShowValue(sshow)
}
function sshow(val) //回传方法用val接受后台代码ShowValue的执行结果
{
document.getElementById("show").innerText = val
}
//调用后台有参数方法
function bclick2()
{
var text = "test"
PageMethods.ShowValue2(text,sshow2)
}
function sshow2(val) //回传方法用val接受后台代码ShowValue的执行结果
{
document.getElementById("show").innerText = val
}
</script>
<input id="Button1" type="button" value="click" onclick="bclick()" />
<input id="Button2" type="button" value="click2" onclick="bclick2()" />
<div id="show"></div>