dojo在ASP.NET中使用Ajax初步

简介:

   我想先介绍一下dojo中的浏览器事件,由于不同的浏览器对dom事件的支持是不同的,dojo在这方面做了统一的封装,所以使用dojo不用担心浏览器事件不兼容的问题。问题也就由此而来,由于要兼容不同的浏览器事件,dojo中的事件与某一个浏览器的事件在命名上也就有所区别(昨晚上就是卡在这了)。请先看下面的一个网址:

http://http://www.bianceng.cn/webkf/Dojo/201101/23290_5.htm

现在来看一下我们的例子:


<script type="text/javascript" language=javascript src="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojo/dojo.js"
                data-dojo-config="isDebug: true, async: true">
        </script>

 引入dojo.js,1.7以后dojo将使用AMD架构,想要了解AMD的可以在网上查,这里不赘述了


<script type="text/javascript" language=javascript>
            require(["dojo/_base/xhr", "dojo/on", "dojo/dom", "dojo/domReady!"], function (xhr, on, dom) {

                function refresfContent() {

                    var sname = dom.byId("txtName").value;
                    //使用GET方式
                    xhr.get({
                        //请求页面
                        url: "WebForm2.aspx",
                        //参数
                        content: { name: sname },
                        //当执行成功时调用的方法
                        load: function (newContent) {
                            dom.byId("txtSuggestion").value = newContent;
                        },
                        //失败时调用的方法
                        error: function () {
                            alert("error");
                        }
                    });
                    //alert(sname);
                }
                //绑定事件,在IE中按键弹起事件是“onkeyup”
                on(dom.byId("txtName"), "keyup", refresfContent);
            })
        </script>

<body>
    <form id="form1" runat="server">
    <div>
    姓名:<input type="text" id="txtName"  /> <br />
    建议:<input type="text" id="txtSuggestion" name="txtSuggestion" />
    </div>
    </form>
</body>

其实xhr只是一个被dojo封装了的XMLHttpRequest,使用dojo我们可以声明一个xhr的变量而不用考虑具体的浏览器,比如:

if (window.XMLHttpRequest) {
                XmlHttp = new XMLHttpRequest();

            }
            else if (window.ActiveXObject) {
                XmlHttp = new ActiveXObject("Microsoft.XMLHTTp");
            }
            else {
                alert("您的浏览器不支持XMLHTTPRequest");
                return;
            }

 然后咱们看一下服务器端的代码,很简单的(借用了一下群哥的代码):


protected void Page_Load(object sender, EventArgs e)
        {
           // string b = Request["callback"];

            
                    string name =Context.Request["name"];
                    if (name != null)
                    {
                        string result = GetSuggestion(name);
                        Response.Write(result);
                        Response.Flush();
                        Response.End();//Response.End把前面的内容都输出了,阻止了后面html相关内容的输出
                    }
        }
        private string GetSuggestion(string name)
        {
            string suggestion = string.Empty;
            if (name != null)
            {
                if (name.Length == 1)
                {
                    if (name == "s")
                    {
                        suggestion = "qun ge";
                    }
                    else if (name == "z")
                    {
                        suggestion = "qun sao";
                    }
                    else
                    {
                        suggestion = "No suggestion";
                    }
                }
                else
                {
                    suggestion = "No Suggestion";
                }
            }
            else
            {
                suggestion = "No Suggestion";
            }

            return suggestion;
        }


目录
相关文章
|
5月前
|
开发框架 前端开发 JavaScript
ASP.NET AJAX使用方法概述(三)
ASP.NET AJAX使用方法概述(三)
44 1
|
5月前
|
开发框架 缓存 前端开发
安装ASP.NET AJAX (一安装)
安装ASP.NET AJAX (一安装)
71 0
|
5月前
|
XML 开发框架 .NET
C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService
## 第二部分:ADO.NET、XML、HTTP、AJAX、WebService #### 1. .NET 和 C# 有什么区别? .NET(通用语言运行时): ```c# 定义:.NET 是一个软件开发框架,提供了一个通用的运行时环境,用于在不同的编程语言中执行代码。 作用:它为多语言支持提供了一个统一的平台,允许不同的语言共享类库和其他资源。.NET 包括 Common Language Runtime (CLR)、基础类库(BCL)和其他工具。 ``` C#(C Sharp): ```c# 定义: C# 是一种由微软设计的面向对象的编程语言,专门为.NET 平台开发而创建。 作
277 2
|
11月前
|
开发框架 前端开发 .NET
用ajax和asp.net实现智能搜索功能
用ajax和asp.net实现智能搜索功能
70 0
解决.NET Core Ajax请求后台传送参数过大请求失败问题
解决.NET Core Ajax请求后台传送参数过大请求失败问题
|
开发框架 前端开发 JavaScript
【Asp.net】 Ajax小例子
【Asp.net】 Ajax小例子
95 0
|
开发框架 前端开发 JavaScript
ASP.Net Core中使用jquery-ajax-unobtrusive替换Ajax.BeginForm
ASP.Net Core中使用jquery-ajax-unobtrusive替换Ajax.BeginForm
190 0
|
1月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
29 7
|
1月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
40 0
|
2月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
37 0