2012-01-13 93 views
0

朋友們,我需要關於在網頁方法中顯示錯誤消息或任何其他消息的幫助。我試着寫一些函數來顯示消息,如果返回值是「0」或返回字符串變量的長度是「0」但沒有結果。你能給一些解決方案嗎? 是的,當然。這裏是我的代碼: -如何顯示來自webmethod的消息?

[WebMethod] 
public string[] GetCompletionCompany(string prefixText, int count) 
{ 
    if (count == 0) 
    { 
     count = 10; 
    } 

    if (prefixText != "") 
    { 
     strSQLQuery = "SELECT ID," + 
        "  stallno," + 
        "  company " + 
        "FROM IESS2012_IND_PartDetails " + 
        "WHERE company LIKE '%" + prefixText + "%' " + 
        "ORDER BY company"; 
    } 
    DataTable dt = objDBHelper.gReturnDataSet(System.Data.CommandType.Text, strSQLQuery).Tables[0]; 
    List<string> items = new List<string>(count); 

    for (int i = 0; i < dt.Rows.Count; i++) 
    { 
     string strName = dt.Rows[i][2].ToString(); 
     items.Add(strName); 
    } 

    if (items.ToArray().Length == 0) 
    { 
     ShowMessage(); 
     return items.ToArray(); 
    } 
    else 
    { 
     return items.ToArray(); 
    } 

} 

    private void ShowMessage() 
{ 

    string msg= gUserMessage.NoRecords; 
    return msg; 
} 

我將如何顯示消息,沒有記錄?

+0

我們可以看到你說你嘗試過什麼? – 2012-01-13 11:38:38

回答

3

如果你想在客戶端顯示錯誤消息,你可以拋出一個適當的異常 - SOAP將封裝它,並且你在客戶端得到一個包含異常消息的SOAP錯誤。

所以在服務器端:

if (items.ToArray().Length == 0) 
{ 
    throw new NoRecordsException("Your Message..."); 
} 

,並在客戶端(假設你使用C#太):

string[] result; 
try 
{ 
    result = service.GetCompletionCompany(prefixText, count); 
} 
catch(SoapException exp) 
{ 
    string message = exp.Message; //or exp.InnerException.Message 
} 
+0

你能舉一些例子嗎?請.. – Sukanya 2012-01-13 11:57:53

+0

@Sukanya:我在腦海中增加了一個小例子 - 我不確定它是否100%正確,但它應該指向正確的方向... – ChrFin 2012-01-13 12:06:21

+0

謝謝你,讓我試試你的代碼。 – Sukanya 2012-01-13 12:14:58