2012-01-13 51 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

相关问题