国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Asp.net2運用JQuery構(gòu)建客戶端/服務(wù)端分離的鏈接模型

Asp.net2運用JQuery構(gòu)建客戶端/服務(wù)端分離的鏈接模型

隨著框架的越來越流行,對于后臺業(yè)務(wù)邏輯框架和WEB表現(xiàn)層框架,市面上可以找到很多非常好的開源框架。不過我始終在想一個問題,對于Java來說,只能使用java下的框架;而對于微軟來說,也只能使用其體系下開發(fā)的框架,那么有沒有可能混合使用呢?

    何為混合使用?就是表現(xiàn)層全部使用靜態(tài)頁面后綴(.htm),而后臺可以是java構(gòu)建的業(yè)務(wù)層模型,也可以是微軟Donet構(gòu)建的業(yè)務(wù)層模型,這樣不管后臺使用什么模型,只要提供方提供了足夠我訪問的接口,就可以調(diào)用不同的架構(gòu)的接口來實現(xiàn)表現(xiàn)層上的內(nèi)容。

    JQuery 是最近很流行的一個Ajax框架,其具體的運用和功能不在這里進行講解,但我們可以使用其內(nèi)嵌的Ajax方法,去調(diào)用后臺服務(wù)端的代碼,已實現(xiàn)客戶端和服務(wù)端的通信。因為客戶端是靜態(tài)頁面,其通過WebService調(diào)用服務(wù)端的方法,這樣很明顯,客戶端可以完全不管服務(wù)端是何種語言開發(fā)的,達到了混合使用的目的。

   這種混合使用可以定義為 WEB端和后臺業(yè)務(wù)邏輯端的連接架構(gòu)模型。

 

這里僅僅是討論了JQuery在Ajax層面與服務(wù)端的交互通信的用法,不涉及JQuery的其他用法

 

以下以一個小小的例子來說明一下:

注:本人javascript和JQuery基礎(chǔ)較差,因此例子也相對簡單。

 

環(huán)境說明:

Asp.net 2.0

外接類庫: System.Web.Extensions.dll

JQuery框架: 1.3

 

第一步:創(chuàng)建一個WebService服務(wù),修改Web.config

工程引入System.Web.Extensions.dll

 

<system.web> 下面

<httpHandlers>
    <remove verb="*" path="*.asmx"></remove>
    <add verb="*" path="*.asmx"

        type="System.Web.Script.Services.ScriptHandlerFactory,  System.Web.Extensions, 
        Version=1.0.61025.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35"/>
</httpHandlers>

 

第二步:對asmx文件編碼

JSon.asmx 

  JSon.cs

 

using System.Web.Script.Serialization;
using System.Web.Script.Services;

 

[ScriptService]
public class Json : System.Web.Services.WebService
{

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]

     public string TestPersonJson(string name) {

        List<Person> list = new List<Person>();

        Person person = new Person();
        person.Birthday = DateTime.Now;
        person.ID = "111" + ">>" +name;
        person.Sex = "1";
        person.Status = 1;

        Person person1 = new Person();
        person1.Birthday = DateTime.Now;
        person1.ID = "222" + ">>" + yy;
        person1.Sex = "2";
        person1.Status = 1;

        Person person2 = new Person();
        person2.Birthday = DateTime.Now;
        person2.ID = "333" + ">>" + name;
        person2.Sex = "1";
        person2.Status = 1;

        list.Add(person);
        list.Add(person1);
        list.Add(person2);

        return new JavaScriptSerializer().Serialize(list);


    }

}

 

以上就是cs代碼,重點關(guān)注有顏色的部分。這些有顏色的代碼其實就是JSon的應(yīng)用,后臺返回方法編譯成JSon格式的編碼發(fā)到客戶端(htm)頁面上,客戶端代碼解碼來獲取值。

 

第三步:創(chuàng)建一個htm客戶端頁面

<script type="text/javascript"  src="../js_Core/jquery-1.3.2.min.js"></script>   這個不可少

 

看一下怎樣從服務(wù)端獲取值呈現(xiàn)在頁面,見以下javascript代碼

function testJson() {             
        $.ajax({
            type: "POST",
            url: "http://127.0.0.1:4000/Json.asmx/TestPersonJson",
            data: "{name:'小王'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg){
                 var data = ("(" + msg + ")");    
                 var t = "<table border='1'>" +
                         "<tr>"+
                             "<td>ID</td>" +
                             "<td>Sex</td>" +
                             "<td>Birthday</td>" +
                             "<td>Status</td>" +
                         "</tr>" ;
   
                 jQuery.each(data, function(rec) {    
                    t = t + "<tr>"+
                                "<td>" + this.ID + "</td>" +
                                "<td>" + this.Sex + "</td>" +
                                "<td>" + this.Birthday + "</td>" +
                                "<td>" + this.Status + "</td>" +
                            "</tr>";
                 });
                
                 t = t + " </table> ";

                 $("#S_Large").html(t);
            },
            error:function(msg){
                 alert( "Error: " + msg );
            }

        });
}//function

 

說明:

以上代碼第一行紅色部分:是引用的WebService的方法

中間的紅色部分是循環(huán)從數(shù)組中取出從服務(wù)端返回的對象值

紫色代碼不是核心代碼,只是把生成的Table插入某個DOM節(jié)中。

 

以上這些就是全部核心的構(gòu)成,通過這個簡單的例子,我們可以看到構(gòu)建這種客戶端不依賴于服務(wù)端語言的模型的可行性。

 

我們完全可以在客戶端采用這種模型,全部靜態(tài)實現(xiàn),并通過WebService調(diào)用后臺服務(wù)端的接口獲取數(shù)據(jù),這種方法我認為還是有一定的應(yīng)用范圍的,特別是對于在一個長期項目中不同時期不同語言框架共存的情況(在政府信息化項目中這種情況最多)。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
jQuery帶參數(shù)的ajax調(diào)用WebService
jQuery Ajax 方法調(diào)用 Asp.Net WebService 的詳細例子
Ajax調(diào)用WebService(一)
jQuery中調(diào)用WebService方法小結(jié)
分離到底!用XML XSLT CSS JQuery WebService組建Asp.Net...
Spring.NET教程(十九)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服