javascript调用后台代码
javascript调用后台代码
1 在httpHandlers里面添加节点
<!--这一行是为了调用 AJAX.NET 手动加上去的-->
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
2 Default.aspx前台代码
请输入 weihe<br />
<asp:TextBox ID="TextBox1" runat="server" Width="40px"></asp:TextBox><br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
后台代码
using System;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//设置 TextBox 的 OnBlur 事件被触发时,所要调用的 JavaScript 函数
this.TextBox1.Attributes["onblur"] = "getWeiHeInfo('TextBox1', 'TextBox2', 'TextBox3');";
//设置在 JavaScript 文件中,所能调用的 C# 自定义类的名称
Ajax.Utility.RegisterTypeForAjax(typeof(MyClass01));
}
}
------------------------------------------------------------------------------------------------------------------------
using System.Data;
public class MyClass01
{
public MyClass01(){}
[Ajax.AjaxMethod()] //告知 Ajax 封装类,为此方法创建一个 JavaScript 代理,这样才能被客户端调用
public string getWeiHeInfo(string key)
{
return "微和软件" + "§" + "酒店管理";;
}
} //end of class
------------------------------------------------------------
3 Javascript代码
function getWeiHeInfo(TextBox1, TextBox2, TextBox3) {
var response = MyClass01.getWeiHeInfo($(TextBox1).value);//调用后台方法
if ((response.value == null) || (response.value.length == 0)) {
alert('查无数据 !');
$(TextBox2).value = "";
$(TextBox3).value = "";
}
else if (response.value.length > 0) {//解析
var strArrResult = response.value.split("§");
if (strArrResult[0].length > 0)
$(TextBox2).value = strArrResult[0];
if (strArrResult[1].length > 0)
$(TextBox3).value = strArrResult[1];
}
}
window.$ = function(id) { return document.getElementById(id); }
=========================
C#代码与javaScript函数的相互调用
我们通过问答的方式来为大家解答C#与JAVASCRIPT函数的相互调用:1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? 4.如何在C#中访问JavaScript函数?
问题1答案如下:
javaScript函数中执行C#代码中的函数:
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
2、在前台写一个js函数,内容为document.getElementById("btn1").click();
3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;
方法二:1、函数声明为public
后台代码(把public改成protected也可以)
| 以下是引用片段: public string ss() { return("a"); } |
2、在html里用 可以调用
前台脚本
| 以下是引用片段: <script language=javascript> var a = "<%=ss()%>"; alert(a); </script> |
方法三:1、
以下是引用片段: theForm.submit(); 方法四:
在.CS里有:
问题2.如何在JavaScript访问C#变量? 答案如下: 方法一:1、通过页面上隐藏域访问<input id="xx" type="hidden" runat="server"> 方法二:1、如后台定义了PUBLIC STRING N;前台js中引用该变量的格式为’ ’或"+ +" 方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本 "<script language=’javascript’>var temp=" + tmp + "</script>" tmp是后台变量,然后js中可以直接访问temp获得值。 问题3.如何在C#中访问JavaScript的已有变量? 答案如下: 方法一:1、前台使用静态文本控件隐藏域,将js变量值写入其中; 2、后台用request["id"]来获取值; 方法二:可以用cookie或session 问题4.如何在C#中访问JavaScript函数? 答案如下: c#代码中执行javaScript函数: 方法一:1、Page.RegisterStartupScript("ggg"," "); 方 法二:使用Literal类,然后
|
【转】http://news.newhua.com/news1/programming/2007/112/07112104941H06KBGBB75A2DC348BH0_3.html

浙公网安备 33010602011771号