none
c#调用js变量 RRS feed

答案

  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head id="Head1" runat="server">
        <title></title>
       
    <script language="javascript">
        var xmlHttp;
        var ee = "mac"; //变量
        function showCustomer() {
            xmlHttp = GetXmlHttpObject();
            if (xmlHttp == null) {
                alert("您的浏览器不支持AJAX!");
                return;
            }
            var url = "ajaxd.ashx?ee="+ee;//传到服务端上
            xmlHttp.onreadystatechange = stateChanged;
            xmlHttp.open("GET", url, true);
            xmlHttp.send(null);
        }
        function stateChanged() {
            if (xmlHttp.readyState == 4) {
                document.getElementById("sessiontext").innerHTML = xmlHttp.responseText;
            }
        }
        function GetXmlHttpObject() {
            var xmlHttp = null;
            try {
                // Firefox, Opera 8.0+, Safari
                xmlHttp = new XMLHttpRequest();
            }
            catch (e) {
                // Internet Explorer
                try {
                    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch (e) {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
            }
            return xmlHttp;
        }
    </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <span id="sessiontext">
        </span>
            <input id="Button1" onclick="showCustomer()" type="button" value="处理变量" />
          </div>
        </form>
    </body>
    </html>


    我用的js异步的页面是ASHX 中文叫一般处理程序 你可以用aspx替代
    我这个页面取名叫ajaxd.ashx只有后台代码

        [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        public class ajaxd : IHttpHandler
        {
            public void ProcessRequest(HttpContext context)
            {
                string ee = context.Request.QueryString["ee"];//接受变量
                //处理变量
                context.Response.Write(ee);//输出
            }
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }

     

     

    • 已标记为答案 lfj0912 2009年10月25日 0:00
    2009年10月24日 17:38

全部回复

  • 不能直接调用
    有两个方法可以 第一是ajax  第二是asp.netajax web服务  这个方法更直接

    2009年10月24日 9:00
  • 谢谢您!
    如果用ajax, 能详细一点吗?

    2009年10月24日 11:43
  • 网上ajax例子满天飞  你去搜索一下就可以
    我还不知道你的问题 调用js变量干什么用的

    2009年10月24日 12:39
  • 假如变量是var a="222222222";
    url="xx.aspx?var=" + a;

    使用XMLHttpRequest去请求这个url即可

    搜索g.cn:
    关键字 XMLHttpRequest
    【孟子E章】
    2009年10月24日 12:52
    版主
  • 网上ajax例子满天飞  你去搜索一下就可以
    我还不知道你的问题 调用js变量干什么用的


    谢谢您!
    今天刚刚接触 ajax ,从哪里学起都还不知道.

    想解决以下问题:
    用js获取到的 mac , 想传到服务器中, 再用c#来处理.
    2009年10月24日 14:25
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head id="Head1" runat="server">
        <title></title>
       
    <script language="javascript">
        var xmlHttp;
        var ee = "mac"; //变量
        function showCustomer() {
            xmlHttp = GetXmlHttpObject();
            if (xmlHttp == null) {
                alert("您的浏览器不支持AJAX!");
                return;
            }
            var url = "ajaxd.ashx?ee="+ee;//传到服务端上
            xmlHttp.onreadystatechange = stateChanged;
            xmlHttp.open("GET", url, true);
            xmlHttp.send(null);
        }
        function stateChanged() {
            if (xmlHttp.readyState == 4) {
                document.getElementById("sessiontext").innerHTML = xmlHttp.responseText;
            }
        }
        function GetXmlHttpObject() {
            var xmlHttp = null;
            try {
                // Firefox, Opera 8.0+, Safari
                xmlHttp = new XMLHttpRequest();
            }
            catch (e) {
                // Internet Explorer
                try {
                    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch (e) {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
            }
            return xmlHttp;
        }
    </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <span id="sessiontext">
        </span>
            <input id="Button1" onclick="showCustomer()" type="button" value="处理变量" />
          </div>
        </form>
    </body>
    </html>


    我用的js异步的页面是ASHX 中文叫一般处理程序 你可以用aspx替代
    我这个页面取名叫ajaxd.ashx只有后台代码

        [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        public class ajaxd : IHttpHandler
        {
            public void ProcessRequest(HttpContext context)
            {
                string ee = context.Request.QueryString["ee"];//接受变量
                //处理变量
                context.Response.Write(ee);//输出
            }
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }

     

     

    • 已标记为答案 lfj0912 2009年10月25日 0:00
    2009年10月24日 17:38
  • 用jquery的AJAX会简单些。
    2009年10月29日 3:11
  • 用jquery的AJAX会简单些。
    谢谢!
    能演示一下,让我学习吗?
    2009年10月29日 3:45
  • 用jquery的AJAX会简单些。

    网上看到, 有的抱怨 jquery 不好, 不知道是不是真的?
    2009年10月29日 13:23
  • 用jquery的AJAX会简单些。

    网上看到, 有的抱怨 jquery 不好, 不知道是不是真的?

    不是! jquery只是简化js代码 你用的时间长了降低你的js水平 jquery只是提高开发效率
    2009年10月29日 13:39