2011-08-05 76 views
4

嗨,我有這樣的情況。從Web方法返回多個項目的最佳方法?

我有填充2個標籤和1 下拉列表在UI與一個Web-方法的調用。

由於該函數是靜態的,我無法從web方法內訪問頁面元素(標籤和下拉列表)。所以我試圖返回我想要的HTML。

[WebMethod()] 
    public static object[] GetStatus() 
    { 
     //Return text for Label1; 

     //Return text for Label2; 

     //Return items to display in ListBox [Number of items can vary] 

    } 

我認爲object []可能會起作用..但它是處理這種情況的最好方法嗎?同時考慮設置這些控件的值所需的java腳本代碼(在調用web方法之後)在這種情況下的最佳實踐是什麼?

回答

6

創建一個ViewModel類。

public class StatusViewModel 
{ 
    public string Label1 { get; set; } 
    public string Label2 { get; set; } 
    public IDictionary<string, string> ListBox { get; set; } 
} 

[WebMethod()] 
public static StatusViewModel GetStatus() 
{ 
    // do work 
    return new StatusViewMode.... 

} 
+0

+ +1爲簡單明瞭的答案... –

+0

+1如果您展示如何在客戶端和服務器上使用它。 –

3

string[]怎麼樣?你嘗試過嗎?

+0

+1對你也是...... :) –

+0

@John .. + 1。那麼還沒有..我想知道什麼是最佳做法,然後開始...... – Ananth

+2

最佳做法是做最簡單的工作。你想要一些字符串:最簡單的就是發送一個字符串數組。如果數字大於三或四,那麼我會返回一個對象,每個字符串值有一個屬性。如果你有多種類型的東西要返回,那麼我立即使用一個對象。 –

2

創建一個複合對象並返回它。

public class combinedObject{ 
    public string Labe11; 
    public string Label2; 
    .. 
} 
+0

感謝Shankar。+ 1 – Ananth

1

創建包含匹配屬性的自定義對象女巫。然後編寫一個自定義序列化序列化和反序列化。

+0

謝謝Chamika +1 – Ananth

相關問題