2012-12-24 46 views
0

我有一個Web服務,我想在我的MVC Razor視圖中顯示來自Web服務的數據。asmx web服務和MVC 3 - 如何使用模型和映射Web服務數據到它?

這是我做了什麼:

1)我的Web方法:

[WebMethod] 
    public string HelloWorld() 
    { 
     return "Hello World... This is a Web Service consumed 
               through MVC Project"; 
    } 

2)添加的Web引用到我的MVC項目

3)查看:

<table><tr><td> 

    <input type="button" id="btnSubmit" value="Get Message" 
             onclick="javascript:getMessage();" /> 

    </td></tr></table> 

    <div id="Result"></div> 

4)我認爲的腳本

function getMessage() { 
    var URL = "/Home/getMessage/"; 
    $.get(URL, function (data) { 
    $("#Result").html(data); 

    }); 
    } 

注:控制器名稱是家庭和action方法的getMessage

5)操作方法主頁

 public string getMessage() 
    { 
    Service1 mvcServiceProxy = new Service1(); 
    string message = mvcServiceProxy.HelloWorld(); 
    return message; 

    } 

我按照上面的步驟,我能夠在對得到的消息我DIV按照我的JavaScript代碼。

但是,如果我有一個模型,並在我的模型中的屬性是:public string Message {get;組; }

我該如何將消息放入此屬性?我需要修改我的操作方法和Javascript嗎?我應該使用類似JSON的東西嗎?

我不知道如何實現這一目標?

我只想用我的財產,並顯示從我的網絡服務內容(信息)到我的Razor視圖使用我的模型屬性,而不是傳遞html值轉換爲DIV並直接顯示它。

請建議。

在此先感謝!

回答

0

首先屬性基本上用於從另一個類讀取/修改類中的任何私人數據。

所以你試圖達到的不應該與屬性。

您嘗試的方式沒問題,您也可以使用Json在一次調用中獲得完整的數據列表,並根據您的需要將其設置在html頁面上。

所以我會建議和Json一起玩。