方法一:直接使用<%=%>调用
前台JS:
- <script type="text/javascript">
- var methodStr = "<%=BehindMethod() %>";
- alert(methodStr);
- </script>
<script type="text/javascript">
var methodStr = "<%=BehindMethod() %>";
alert(methodStr);
</script>
后头方法:
- public static string BehindMethod()
- {
- return "这是一个后台的方法";
- }
public static string BehindMethod()
{
return "这是一个后台的方法";
}
方法二:用ajax调用
需要标识为WebMethod [System.Web.Services.WebMethod] // 注意,要让前台调用的方法,一定要是public和static的 public static string aaa(string name) { string result = "Hello:" + name; return result; }
<script type="text/javascript"> function btnClick(){ // 调用页面后台方法,前面跟方法所需的参数,接着是方法回调成功时要执行的js函数,最后一个是方法回调失败时要执行的js函数 PageMethods.aaa("you",funReady,funError); } // result 就是后台方法返回的数据 function funReady(result){ alert(result); } // err 就是后台方法返回的错误信息 function funError(err){ alert("Error:" + err._message ); } </script>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" /> <input type="button" onclick="btnClick()" value="test" />
方法三:AjaxPro (也是ajax)
第一步:下载AjaxPro.dll(或者AjaxPro.2.dll),并且添加引用到项目
第二步:修改配置文件web.config
- <system.web>
- <httpHandlers>
- <!--注册ajaxPro.2-->
- <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
- </httpHandlers>
- </system.web>
<system.web>
<httpHandlers>
<!--注册ajaxPro.2-->
<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
</system.web>
第三步:对AjaxPro在页Page_Load事件中进行运行时注册。如:
- protected void Page_Load(object sender, EventArgs e)
- {
- AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxDemo)); //注册
- }
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxDemo)); //注册
}
第四步:创建服务器方法,并且用[AjaxPro.AjaxMethod]标注
- [AjaxPro.AjaxMethod]
- public string GetImgByAjaxPro()
- {
- return "image/54222860.jpg";
- }
[AjaxPro.AjaxMethod]
public string GetImgByAjaxPro()
{
return "image/54222860.jpg";
}
第五步:前台JS的调用:
- function GetMethodByAjaxPro() {
- var a = JustTest.AjaxDemo.GetImgByAjaxPro();//JustTest是当前的名字空间,AjaxDemo表示后台类
- document.getElementById("imgAjaxPro").src = a.value;
- }
function GetMethodByAjaxPro() {
var a = JustTest.AjaxDemo.GetImgByAjaxPro();//JustTest是当前的名字空间,AjaxDemo表示后台类
document.getElementById("imgAjaxPro").src = a.value;
}