zl程序教程

您现在的位置是:首页 >  其他

当前栏目

.Net文本框实现内容提示的实例代码(仿Google、Baidu)

GoogleNet实例代码 实现 内容 提示 文本框
2023-06-13 09:15:18 时间

1.Demo下载:

2.创建数据库、表(我用的sqlserver2008数据库)

复制代码代码如下:


CREATETABLECeshi
(
  idVARCHAR(50)PRIMARYKEYNOTNULL,
  cnameVARCHAR(30)
)
GO
INSERTINTOCeshi
SELECTNEWID(),"jack1"UNION
SELECTNEWID(),"jack2"UNION
SELECTNEWID(),"jack3"UNION
SELECTNEWID(),"jack4"UNION
SELECTNEWID(),"jack5"UNION
SELECTNEWID(),"peter1"UNION
SELECTNEWID(),"peter2"UNION
SELECTNEWID(),"peter3"UNION
SELECTNEWID(),"peter4"UNION
SELECTNEWID(),"peter5"
go

3.创建自定义函数

复制代码代码如下:

createfunction[dbo].[f_GetPy](@strnvarchar(4000))
returnsnvarchar(4000)
as
begin
declare@strlenint,@renvarchar(4000)
declare@ttable(chrnchar(1)collateChinese_PRC_CI_AS,letternchar(1))
insertinto@t(chr,letter)
select"吖","A"unionallselect"八","B"unionall
  select"嚓","C"unionallselect"?","D"unionall
  select"??","E"unionallselect"发","F"unionall
  select"旮","G"unionallselect"铪","H"unionall
  select"丌","J"unionallselect"咔","K"unionall
  select"垃","L"unionallselect"?`","M"unionall
  select"??","N"unionallselect"噢","O"unionall
  select"?r","P"unionallselect"七","Q"unionall
  select"?","R"unionallselect"仨","S"unionall
  select"他","T"unionallselect"?","W"unionall
  select"夕","X"unionallselect"丫","Y"unionall
  select"??","Z"
  select@strlen=len(@str),@re=""
  while@strlen>0
  begin
    selecttop1@re=letter+@re,@strlen=@strlen-1
    from@tawherechr<=substring(@str,@strlen,1)
    orderbychrdesc
    if@@rowcount=0
    select@re=substring(@str,@strlen,1)+@re,@strlen=@strlen-1
  end
  return(@re)
end
GO

4.asp.net前台页面(需要添加2个引用:AjaxControlToolkit.dll,AutoCompleteExtra.dll)

复制代码代码如下:
<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="TextBoxAuto.aspx.cs"Inherits="WebApplication1.TextBoxAuto"%>

<%@RegisterAssembly="AutoCompleteExtra"Namespace="AutoCompleteExtra"TagPrefix="cc1"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
   <title></title>
   <styletype="text/css">
       .searchTextBox
       {
           border:1pxsolid#e1e1e1;
           border-collapse:separate;
           border-spacing:0;
           padding:2px2px2px2px;
           white-space:nowrap;
           margin-left:2px;
           height:28px;
           line-height:28px;
           margin-right:5px;
           font-family:微软雅黑,宋体;
           font-size:14px;
       }
   </style>
</head>
<body>
   <formid="form1"runat="server">
   <asp:ScriptManagerID="ScriptManager1"runat="server">
   </asp:ScriptManager>
   <asp:UpdatePanelID="UpdatePanel1"runat="server">
       <ContentTemplate>
           <div>
               <divclass="dd2">
              请输入姓名:<asp:TextBoxCssClass="searchTextBox"runat="server"ID="txtCompanyName"Style="width:280px;"></asp:TextBox>
                   <cc1:AutoCompleteExtraExtenderID="AutoCompleteExtraExtender1"runat="server"ServiceMethod="GetCompanyNameList"
                       TargetControlID="txtCompanyName"AsyncPostback="false"UseContextKey="True"AutoPostback="false"
                       MinimumPrefixLength="1"CompletionInterval="10">
                   </cc1:AutoCompleteExtraExtender>
               </div>
           </div>
       </ContentTemplate>
   </asp:UpdatePanel>
   </form>
</body>
</html>

5.后台页面

复制代码代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingOceansoft.Net.Bll;

namespaceWebApplication1
{
   publicpartialclassTextBoxAuto:System.Web.UI.Page
   {
       protectedvoidPage_Load(objectsender,EventArgse)
       {

       }

       [System.Web.Services.WebMethodAttribute(),System.Web.Script.Services.ScriptMethodAttribute()]
       publicstaticstring[][]GetCompanyNameList(stringprefixText,intcount,stringcontextKey)
       {
           //获取自动完成的选项数据
           List<string[]>list=newList<string[]>();
           List<string>nameList=newList<string>();
           List<string>idList=newList<string>();
           CeshiManageceshimanage=newCeshiManage();

           ceshimanage.GetTopUserName(count,prefixText.ToUpper(),outidList,outnameList);
           for(inti=0;i<nameList.Count;i++)
           {
               string[]Respuesta=newstring[2];
               Respuesta[0]=nameList[i];
               Respuesta[1]=idList[i];
               list.Add(Respuesta);
           }
           returnlist.ToArray();
       }
   }
}


6.后台页面用到的方法(管理类)
复制代码代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Web.UI;
usingOceansoft.Net.Bll;
usingSubSonic;
usingSystem.Transactions;


usingSystem.Data;
usingOceansoft.Net.Dal;

 

namespaceOceansoft.Net.Bll
{
   ///<summary>
   ///:ceshi
   ///:jibp
   ///:2014-2-2715:52:15
   ///</summary>
   publicclassCeshiManage
   {

       privateSqlQuerym_sqlquery=Oceansoft.Net.Dal.DB.Select().From(Ceshi.Schema);

       ///<summary>
       ///Ceshi查询器
       ///</summary>
       publicSqlQueryCeshiSelecter
       {
           get{returnm_sqlquery;}
           set{m_sqlquery=value;}
       }


       ///<summary>
       ///构造函数,设置查询器
       ///</summary>
       publicCeshiManage()
       {
           m_sqlquery=m_sqlquery.Where("id").IsNotEqualTo("");
       }


       #regionCeshi管理

       ///<summary>
       ///获取ceshi列表
       ///</summary>
       ///<returns></returns>
       publicList<Ceshi>getCeshiList()
       {

           returnCeshiSelecter.ExecuteTypedList<Ceshi>();
       }


       ///<summary>
       ///获取ceshi列表,同时分页操作
       ///</summary>
       ///<returns></returns>
       publicList<Ceshi>getCeshiList(intcurrentPage,intpageSize,outintRecordCount)
       {
           RecordCount=m_sqlquery.GetRecordCount();
           returnCeshiSelecter
           .Paged(currentPage,pageSize)
           .ExecuteTypedList<Ceshi>();
       }

 

 

       ///<summary>
       ///新增ceshi
       ///</summary>
       ///<paramname="HandleEntity"></param>
       ///<paramname="sErr"></param>
       ///<returns></returns>
       publicboolAddCeshi(CeshibeAddMode,outstringsErr)
       {

           sErr="";
           boolbRet=true;
           try
           {

               using(TransactionScopesc=newTransactionScope())
               {
                   //此处写代码
                   //流水编号的生成
                   //GenerateNoNo=newGenerateNo();
                   //No.TableName="Ceshi";//表名
                   //No.NoName="XXX";  //流水号前字母
                   //No.ColName="CC_Number"; //编号字段
                   //No.CreateTime="CC_CreateTime"; //日期字段
                   //stringBillNo="";
                   //Customer_Comp.CC_Number=No.AutoGenerateNo();
                   beAddMode.IsNew=true;
                   beAddMode.Save();
                   //LogHelper.WriteLog(logType.新增,logModule.Deptrelation,"ceshi新增成功("+beAddMode.GetPrimaryKeyValue().ToString()
                   //+")!");
                   //如果生成扩展类请使用add方法方法
                   sc.Complete();
               }
           }
           catch(Exceptionex)
           {
               sErr="ceshi新增不成功!";
               returnfalse;
           }

           sErr="ceshi新增成功!";
           returnbRet;


       }

 

       ///<summary>
       ///修改ceshi
       ///</summary>
       ///<paramname="HandleEntity"></param>
       ///<paramname="sErr"></param>
       ///<returns></returns>
       publicboolUpdataCeshi(CeshibeUpdataMode,outstringsErr)
       {

           sErr="";
           boolbRet=true;
           try
           {

               using(TransactionScopesc=newTransactionScope())
               {

                   //如果生成扩展类请使用Update()方法方法
                   beUpdataMode.IsNew=false;
                   beUpdataMode.Save();
                   //LogHelper.WriteLog(logType.修改,logModule.Deptrelation,"ceshi修改成功("+beUpdataMode.GetPrimaryKeyValue().ToString()
                   //+")!");

                   sc.Complete();
               }
           }
           catch(Exceptionex)
           {
               sErr="ceshi修改不成功!";
               returnfalse;
           }

           sErr="ceshi修改成功!";
           returnbRet;

       }

 


       ///<summary>
       ///删除ceshi
       ///</summary>
       ///<paramname="HandleEntity"></param>
       ///<paramname="sErr"></param>
       ///<returns></returns>
       publicboolDeleteCeshi(CeshibeDeleteMode,outstringsErr)
       {
           sErr="";
           boolbRet=true;
           try
           {

               using(TransactionScopesc=newTransactionScope())
               {
                   //如果生成扩展类请使用Delete()方法方法
                   Ceshi.Delete(beDeleteMode.GetPrimaryKeyValue());
                   //LogHelper.WriteLog(logType.删除,logModule.Deptrelation,"ceshi删除成功("+beDeleteMode.GetPrimaryKeyValue().ToString()
                   //+")!");
                   sc.Complete();
               }
           }
           catch(Exceptionex)
           {
               sErr="ceshi删除不成功!";
               returnfalse;
           }

           sErr="ceshi删除成功!";
           returnbRet;

       }


       ///<summary>
       ///删除ceshi列表
       ///</summary>
       ///<paramname="HandleEntity"></param>
       ///<paramname="sErr"></param>
       ///<returns></returns>
       publicboolDeleteCeshiList(List<Ceshi>lstCeshi,outstringsErr)
       {


           sErr="";
           intii=0;
           boolbRet=true;
           try
           {

               using(TransactionScopesc=newTransactionScope())
               {
                   //如果生成扩展类请使用Delete()方法方法
                   foreach(CeshibedelmodeinlstCeshi)
                   {
                       ii++;
                       Ceshi.Delete(bedelmode.GetPrimaryKeyValue());

                       //LogHelper.WriteLog(logType.删除,logModule.Deptrelation,"ceshi删除成功("+bedelmode.GetPrimaryKeyValue().ToString()
                       //+")!");
                   }
                   sc.Complete();
               }
           }
           catch(Exceptionex)
           {
               sErr="ceshi删除不成功!";
               returnfalse;
           }

           sErr="共"+ii.ToString()+"条单据删除成功!";
           returnbRet;

 


       }

       public voidGetTopUserName(inttopCount,stringname,outList<string>listId,out List<string>listcname)
       {
           stringsql=string.Format(@"Selectid,cnamefrom(SelectROW_NUMBER()over(orderbycname)asROWNUM,"+
               "id,cnameFROM[dbo].[Ceshi]wherecnamelike"%"+name+"%"or dbo.f_GetPy(cname)like"%"+name+"%")astawhereta.ROWNUM<="+topCount);
           DataTabledt=newDataTable();
           QueryCommandqc=newInlineQuery().GetCommand(sql);
           dt=DataService.GetDataSet(qc).Tables[0];//将查询出来的数据集放到List中去(查询数据的方法,有很多,这边我用的是Subsonic类自带的查询方法)
           listcname=newList<string>();
           listId=newList<string>();
           foreach(DataRowrowindt.Rows)
           {

               listId.Add(row[0].ToString());
               listcname.Add(row[1].ToString());

           }

       }

      #endregion

   }
}

7.webconfig配置

复制代码代码如下:
<?xmlversion="1.0"?>

<!--
 有关如何配置ASP.NET应用程序的详细信息,请访问
 http://go.microsoft.com/fwlink/?LinkId=169433
 -->

<configuration>
 <configSections>
   <sectionname="SubSonicService"type="SubSonic.SubSonicSection,SubSonic"requirePermission="false"/>
 </configSections>
 <connectionStrings>
   <addname="DemoTo"connectionString="DataSource=172.17.118.197;InitialCatalog=DemoTo;UserId=sa;Password=password01!;"providerName="System.Data.SqlClient"/>
 </connectionStrings>
 <SubSonicServicedefaultProvider="DemoTo">
   <providers>

     <addname="DemoTo"type="SubSonic.SqlDataProvider,SubSonic"connectionStringName="DemoTo"generatedNamespace="Oceansoft.Net"maxPoolSize="2000"/>

   </providers>
 </SubSonicService>

 <system.web>
   <compilationdebug="true"targetFramework="4.0"/>

   <authenticationmode="Forms">
     <formsloginUrl="~/Account/Login.aspx"timeout="2880"/>
   </authentication>

   <membership>
     <providers>
       <clear/>
       <addname="AspNetSqlMembershipProvider"type="System.Web.Security.SqlMembershipProvider"connectionStringName="ApplicationServices"
            enablePasswordRetrieval="false"enablePasswordReset="true"requiresQuestionAndAnswer="false"requiresUniqueEmail="false"
            maxInvalidPasswordAttempts="5"minRequiredPasswordLength="6"minRequiredNonalphanumericCharacters="0"passwordAttemptWindow="10"
            applicationName="/"/>
     </providers>
   </membership>

   <profile>
     <providers>
       <clear/>
       <addname="AspNetSqlProfileProvider"type="System.Web.Profile.SqlProfileProvider"connectionStringName="ApplicationServices"applicationName="/"/>
     </providers>
   </profile>

   <roleManagerenabled="false">
     <providers>
       <clear/>
       <addname="AspNetSqlRoleProvider"type="System.Web.Security.SqlRoleProvider"connectionStringName="ApplicationServices"applicationName="/"/>
       <addname="AspNetWindowsTokenRoleProvider"type="System.Web.Security.WindowsTokenRoleProvider"applicationName="/"/>
     </providers>
   </roleManager>

 </system.web>

 <system.webServer>
   <modulesrunAllManagedModulesForAllRequests="true"/>
 </system.webServer>
</configuration>