dojo在ASP.NET中使用Ajax初步
生活随笔
收集整理的這篇文章主要介紹了
dojo在ASP.NET中使用Ajax初步
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
我想先介紹一下dojo中的瀏覽器事件,由于不同的瀏覽器對dom事件的支持是不同的,dojo在這方面做了統(tǒng)一的封裝,所以使用dojo不用擔心瀏覽器事件不兼容的問題。問題也就由此而來,由于要兼容不同的瀏覽器事件,dojo中的事件與某一個瀏覽器的事件在命名上也就有所區(qū)別(昨晚上就是卡在這了)。請先看下面的一個網址:
http://http://www.bianceng.cn/webkf/Dojo/201101/23290_5.htm
現(xiàn)在來看一下我們的例子:
<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的可以在網上查,這里不贅述了
1 <script type="text/javascript" language=javascript> 2 require(["dojo/_base/xhr", "dojo/on", "dojo/dom", "dojo/domReady!"], function (xhr, on, dom) { 3 4 function refresfContent() { 5 6 var sname = dom.byId("txtName").value; 7 //使用GET方式 8 xhr.get({ 9 //請求頁面 10 url: "WebForm2.aspx", 11 //參數(shù) 12 content: { name: sname }, 13 //當執(zhí)行成功時調用的方法 14 load: function (newContent) { 15 dom.byId("txtSuggestion").value = newContent; 16 }, 17 //失敗時調用的方法 18 error: function () { 19 alert("error"); 20 } 21 }); 22 //alert(sname); 23 } 24 //綁定事件,在IE中按鍵彈起事件是“onkeyup” 25 on(dom.byId("txtName"), "keyup", refresfContent); 26 }) 27 </script> 1 <body> 2 <form id="form1" runat="server"> 3 <div> 4 姓名:<input type="text" id="txtName" /> <br /> 5 建議:<input type="text" id="txtSuggestion" name="txtSuggestion" /> 6 </div> 7 </form> 8 </body>其實xhr只是一個被dojo封裝了的XMLHttpRequest,使用dojo我們可以聲明一個xhr的變量而不用考慮具體的瀏覽器,比如:
1 if (window.XMLHttpRequest) { 2 XmlHttp = new XMLHttpRequest(); 3 4 } 5 else if (window.ActiveXObject) { 6 XmlHttp = new ActiveXObject("Microsoft.XMLHTTp"); 7 } 8 else { 9 alert("您的瀏覽器不支持XMLHTTPRequest"); 10 return; 11 }?然后咱們看一下服務器端的代碼,很簡單的(借用了一下群哥的代碼):
1 protected void Page_Load(object sender, EventArgs e) 2 { 3 // string b = Request["callback"]; 4 5 6 string name =Context.Request["name"]; 7 if (name != null) 8 { 9 string result = GetSuggestion(name); 10 Response.Write(result); 11 Response.Flush(); 12 Response.End();//Response.End把前面的內容都輸出了,阻止了后面html相關內容的輸出 13 } 14 } 15 private string GetSuggestion(string name) 16 { 17 string suggestion = string.Empty; 18 if (name != null) 19 { 20 if (name.Length == 1) 21 { 22 if (name == "s") 23 { 24 suggestion = "qun ge"; 25 } 26 else if (name == "z") 27 { 28 suggestion = "qun sao"; 29 } 30 else 31 { 32 suggestion = "No suggestion"; 33 } 34 } 35 else 36 { 37 suggestion = "No Suggestion"; 38 } 39 } 40 else 41 { 42 suggestion = "No Suggestion"; 43 } 44 45 return suggestion; 46 }?
運行結果:很簡單的一個小例子
總結
以上是生活随笔為你收集整理的dojo在ASP.NET中使用Ajax初步的全部內容,希望文章能夠幫你解決所遇到的問題。