ASP.NET自动完成扩展器 [英] ASP.NET Auto Complete Extender

查看:49
本文介绍了ASP.NET自动完成扩展器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嘿,

我正在使用ASP.NET.

我想使用AutoCompleteExtender,并且编写了完整的代码,但直到无法得到结果为止.我找不到语法问题.因为程序成功运行,没有任何错误.
有人可以帮我吗?

hey,

I''m Working with ASP.NET.

I want to use AutoCompleteExtender and I''ve written a complete code but till m not getting the result. I m not able to find the the syntax problem. because program runs successfully without any error.
Can anybody plz help me out?

<asp:TextBox ID="txt_search" runat="server" Width="250px"> 
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
 <asp:AutoCompleteExtender CompletionInterval="100" Enabled="true" CompletionSetCount="1" MinimumPrefixLength="1" TargetControlID="txt_search" ID="AutoSuggestion" runat="server" ServicePath="~/Lib_BookSearch.asmx" ServiceMethod="AutoDescription">


[WebMethod]
    public string[] AutoDescription(string pretext)
    {
        SqlConnection cn=new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\khushboo\sem 6\running NEW on C59\LIVE\App_Data\libdata.mdf;Integrated Security=True;User Instance=True");
        SqlCommand cmd = new SqlCommand("select des from Table1 where des LIKE '%" + pretext + "%'", cn);
        cn.Open();
        cmd.Parameters.AddWithValue("@pretext", pretext);
        cmd.ExecuteNonQuery();
        
        cn.Close();
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        adp.SelectCommand.Parameters.Add("@pretext", SqlDbType.VarChar, 50).Value = pretext + "%";
        adp.Fill(ds);
        string[] arr = new string[ds.Tables[0].Rows.Count];
        for (int i = 0; i < arr.Length; i++)
            arr[i] = ds.Tables[0].Rows[i][0].ToString();
        return arr;
    }

推荐答案

更新您的命令并使用此命令:
Update your command and use this:
SqlCommand cmd = new SqlCommand("select des from Table1 where des LIKE '%" + pretext + "%'", cn);


请参阅下面的文章,该文章提供了逐步的过程.它将帮助您跟踪出现问题的地方.参考: http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/AutoComplete/AutoComplete.aspx [ ^ ]
Refer the below article, which gives step by step process. It will help you to track thing where it goes wrong. Ref: http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/AutoComplete/AutoComplete.aspx[^]


[System.Web.Script.Services.ScriptMethod()]
    [System.Web.Services.WebMethod]
    public static List<string> SearchCustodian(string prefixText, int count)              //This service is used to Search Custodian
    {
        using (SqlConnection conn = new SqlConnection())
        {
            conn.ConnectionString = ConfigurationManager             .ConnectionStrings["connStringForAutoComplete"].ConnectionString;
            using (SqlCommand cmd = new SqlCommand())
            {
                cmd.CommandText = "select des from Table1 where des like '%'+ @SearchText + '%'";
                cmd.Parameters.AddWithValue("@SearchText", prefixText);
                cmd.Connection = conn;
                conn.Open();
                List<string> vcName = new List<string>();
                using (SqlDataReader sdr = cmd.ExecuteReader())
                {
                    while (sdr.Read())
                    {
                        vcName.Add(sdr["des"].ToString();
                    }
                }
                conn.Close();
                return vcName;
            }

        }
    }







<ajaxToolkit:AutoCompleteExtender ID="aceAssetNumber" runat="server" TargetControlID="txtAssetNumber"

                                                    BehaviorID="testAutoComplete" Enabled="True" OnClientPopulated="Test" DelimiterCharacters="" EnableCaching="False" CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem" CompletionListItemCssClass="autocomplete_listItem" CompletionListCssClass="autocomplete_completionListElement" ServicePath="" ServiceMethod="SearchCustodian" CompletionListElementID="listPlacement" CompletionInterval="0" MinimumPrefixLength="1">                                             </ajaxToolkit:AutoCompleteExtender>




和CSS类


< pre lang ="cs"> .autocomplete_completionListElement {
BORDER-RIGHT:按钮阴影1px实线; BORDER-TOP:按钮阴影1px实线;字体大小:8pt;可见性:隐藏;保证金:0px;溢出:自动; BORDER-LEFT:按钮阴影1px实线;颜色:windowtext; BORDER-BOTTOM:按钮阴影1像素实线;字体家族:Verdana; LIST-STYLE-TYPE:无;文字对齐:左;最大高度:200像素;最小高度:0像素;
}
.autocomplete_highlightedListItem {
右上移:1px;左移:1px;填充底部:1px;颜色:黑色;填充顶部:1px;背景颜色:#ffff99
}
.autocomplete_listItem {
右上移:1px;左移:1px;填充底部:1px;颜色:windowtext;填充顶部:1px;背景颜色:窗口
}</pre>



尝试像这样实现,它将正常工作khushboo
然后像这样在webconfig中创建连接字符串....




and css class


<pre lang="cs">.autocomplete_completionListElement {
BORDER-RIGHT: buttonshadow 1px solid; BORDER-TOP: buttonshadow 1px solid; FONT-SIZE: 8pt; VISIBILITY: hidden; MARGIN: 0px; OVERFLOW: auto; BORDER-LEFT: buttonshadow 1px solid; COLOR: windowtext; BORDER-BOTTOM: buttonshadow 1px solid; FONT-FAMILY: Verdana; LIST-STYLE-TYPE: none; TEXT-ALIGN: left;max-height:200px;min-height:0px;
}
.autocomplete_highlightedListItem {
PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; COLOR: black; PADDING-TOP: 1px; BACKGROUND-COLOR: #ffff99
}
.autocomplete_listItem {
PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; COLOR: windowtext; PADDING-TOP: 1px; BACKGROUND-COLOR: window
}</pre>



try to implement like that definatly it will work khushboo
and make your connectionstring in webconfig like that....

<connectionstrings>
<add name="connStringForAutoComplete" connectionstring="Data Source=.\SQLEXPRESS;AttachDbFilename=D:\khushboo\sem 6\running NEW on C59\LIVE\App_Data\libdata.mdf;Integrated Security=True;User Instance=True" />
<connectionstrings></connectionstrings></connectionstrings>


这篇关于ASP.NET自动完成扩展器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆