[WebMethod] 
public string[] Selectassname(string prefixText, int count) 

    List <string> results = new List <string>(count); 
    string sql = "select distinct top 10(assName) from Assign where assName like '" + prefixText + "%'"; 
    DataTable dt = new DataTable(); 
    SqlHelper.FillDataTable(sql, dt); 
    foreach (DataRow dr in dt.Rows) 
    { 
        if (dr["assName"].ToString() != "") 
        { 
              results.Add(dr["assName"].ToString()+" "); 
        } 
    } 
    return results.ToArray <string>(); 
} <?xml version="1.0" encoding="utf-8" ?> 
- <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"> 
  <string>1 </string> 
  <string>1-1 </string> 
  <string>1-1-1 </string> 
  <string>1-1-2 </string> 
  <string>1-1-3 </string> 
  <string>1-1-4 </string> 
  <string>1-1-5 </string> 
  <string>1-2 </string> 
  <string>1-2-1 </string> 
  <string>1-2-2 </string> 
  </ArrayOfString> 直接浏览正常显示 页面调用显示结果


-1 
-2 
-3 
-4 
-5 
-1 
-2 
-3 就变成计算过后的值了, 
要怎么让他原封不动的返回

解决方案 »

  1.   

    没发现这种问题。
    [System.Web.Script.Services.ScriptService]
    public class WebService : System.Web.Services.WebService {    public WebService () {        //濡傛灉浣跨敤璁捐鐨勭粍浠讹紝璇峰彇娑堟敞閲婁互涓嬭 
            //InitializeComponent(); 
        }    [WebMethod]
        public string[] HelloWorld() {
            return new string[] { "1-2", "2-3" };
        }
        
    }
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
            <Services>
                <asp:ServiceReference Path="WebService.asmx" />
            </Services>
        </asp:ScriptManager>
        
        <div>
        <script type="text/javascript">
            var s = '';
            WebService.HelloWorld(OnSuccess);
            function OnSuccess(result) {
                alert(result[0]);
            }
        </script>
        </div>
    </form>
      

  2.   

    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"
                TargetControlID="TextBox1"
                ServiceMethod="Selectassname"
                ServicePath="~/webservices/ASWebService.asmx"
                MinimumPrefixLength="0"
                CompletionSetCount="10"
                CompletionInterval="500"
                CompletionListItemCssClass="autocomplete_listItem"
                CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem"
                >
                </cc1:AutoCompleteExtender>
    页面调用代码浏览页面就成了计算后的
      

  3.   

    can be dirty-fixed by using items.Add("\"12345\"") instead.
      

  4.   

    [WebMethod]
            public string[] Selectassname(string prefixText, int count)
            {
                List<string> results = new List<string>(count);
                string sql = "select distinct top 10(assName) from Assign where assName like '" + prefixText + "%'";
                DataTable dt = new DataTable();
                SqlHelper.FillDataTable(sql, dt);
                foreach (DataRow dr in dt.Rows)
                {
                    if (dr["assName"].ToString() != "")
                    {
                        results.Add("\""+dr["assName"].ToString()+"\"");
                    }
                }
                return results.ToArray();
            }可以了,谢了
    没有想到要转译