1.Demo下载:
2.创建数据库、表(我用的sqlserver2008数据库)
3.创建自定义函数
4.asp.net前台页面(需要添加2个引用:AjaxControlToolkit.dll,AutoCompleteExtra.dll)
<%@ Register Assembly="AutoCompleteExtra" Namespace="AutoCompleteExtra" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.searchTextBox
{
border: 1px solid #e1e1e1;
border-collapse: separate;
border-spacing: 0;
padding: 2px 2px 2px 2px;
white-space: nowrap;
margin-left: 2px;
height: 28px;
line-height: 28px;
margin-right: 5px;
font-family: 微软雅黑,宋体;
font-size: 14px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div>
<div class="dd2">
请输入姓名: <asp:TextBox CssClass="searchTextBox" runat="server" ID="txtCompanyName" Style="width: 280px;"></asp:TextBox>
<cc1:AutoCompleteExtraExtender ID="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.后台页面
namespace WebApplication1
{
public partial class TextBoxAuto : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
public static string[][] GetCompanyNameList(string prefixText, int count, string contextKey)
{
//获取自动完成的选项数据
List<string[]> list = new List<string[]>();
List<string> nameList = new List<string>();
List<string> idList = new List<string>();
CeshiManage ceshimanage = new CeshiManage();
ceshimanage.GetTopUserName(count, prefixText.ToUpper(), out idList, out nameList);
for (int i = 0; i < nameList.Count; i++)
{
string[] Respuesta = new string[2];
Respuesta[0] = nameList[i];
Respuesta[1] = idList[i];
list.Add(Respuesta);
}
return list.ToArray();
}
}
}
using System.Data;
using Oceansoft.Net.Dal;
namespace Oceansoft.Net.Bll
{
/// <summary>
/// :ceshi
/// :jibp
/// :2014-2-27 15:52:15
///</summary>
public class CeshiManage
{
private SqlQuery m_sqlquery = Oceansoft.Net.Dal.DB.Select().From(Ceshi.Schema);
/// <summary>
/// Ceshi查询器
/// </summary>
public SqlQuery CeshiSelecter
{
get { return m_sqlquery; }
set { m_sqlquery = value; }
}
/// <summary>
/// 构造函数,设置查询器
///</summary>
public CeshiManage()
{
m_sqlquery = m_sqlquery.Where("id").IsNotEqualTo("");
}
#region Ceshi管理
/// <summary>
/// 获取ceshi列表
/// </summary>
/// <returns></returns>
public List<Ceshi> getCeshiList()
{
return CeshiSelecter.ExecuteTypedList<Ceshi>();
}
/// <summary>
/// 获取ceshi列表,同时分页操作
/// </summary>
/// <returns></returns>
public List<Ceshi> getCeshiList(int currentPage, int pageSize, out int RecordCount)
{
RecordCount = m_sqlquery.GetRecordCount();
return CeshiSelecter
.Paged(currentPage, pageSize)
.ExecuteTypedList<Ceshi>();
}
/// <summary>
/// 新增 ceshi
/// </summary>
/// <param name="HandleEntity"></param>
/// <param name="sErr"></param>
/// <returns></returns>
public bool AddCeshi(Ceshi beAddMode, out string sErr)
{
sErr = "";
bool bRet = true;
try
{
using (TransactionScope sc = new TransactionScope())
{
//此处写代码
//流水编号的生成
//GenerateNo No = new GenerateNo();
//No.TableName = "Ceshi"; //表名
//No.NoName = "XXX"; //流水号前字母
//No.ColName = "CC_Number"; //编号字段
//No.CreateTime = "CC_CreateTime"; //日期字段
//string BillNo = "";
//Customer_Comp.CC_Number = No.AutoGenerateNo();
beAddMode.IsNew = true;
beAddMode.Save();
//LogHelper.WriteLog(logType.新增 , logModule.Deptrelation,"ceshi新增成功("+beAddMode.GetPrimaryKeyValue().ToString()
//+")!");
//如果生成扩展类请使用add方法方法
sc.Complete();
}
}
catch (Exception ex)
{
sErr = "ceshi新增不成功!";
return false;
}
sErr = "ceshi新增成功!";
return bRet;
}
/// <summary>
/// 修改 ceshi
/// </summary>
/// <param name="HandleEntity"></param>
/// <param name="sErr"></param>
/// <returns></returns>
public bool UpdataCeshi(Ceshi beUpdataMode, out string sErr)
{
sErr = "";
bool bRet = true;
try
{
using (TransactionScope sc = new TransactionScope())
{
//如果生成扩展类请使用Update()方法方法
beUpdataMode.IsNew = false;
beUpdataMode.Save();
//LogHelper.WriteLog(logType.修改 , logModule.Deptrelation,"ceshi修改成功("+beUpdataMode.GetPrimaryKeyValue().ToString()
//+")!");
sc.Complete();
}
}
catch (Exception ex)
{
sErr = "ceshi修改不成功!";
return false;
}
sErr = "ceshi修改成功!";
return bRet;
}
/// <summary>
/// 删除 ceshi
/// </summary>
/// <param name="HandleEntity"></param>
/// <param name="sErr"></param>
/// <returns></returns>
public bool DeleteCeshi(Ceshi beDeleteMode, out string sErr)
{
sErr = "";
bool bRet = true;
try
{
using (TransactionScope sc = new TransactionScope())
{
//如果生成扩展类请使用Delete()方法方法
Ceshi.Delete(beDeleteMode.GetPrimaryKeyValue());
//LogHelper.WriteLog(logType.删除 , logModule.Deptrelation,"ceshi删除成功("+beDeleteMode.GetPrimaryKeyValue().ToString()
//+")!");
sc.Complete();
}
}
catch (Exception ex)
{
sErr = "ceshi删除不成功!";
return false;
}
sErr = "ceshi删除成功!";
return bRet;
}
/// <summary>
/// 删除 ceshi 列表
/// </summary>
/// <param name="HandleEntity"></param>
/// <param name="sErr"></param>
/// <returns></returns>
public bool DeleteCeshiList(List<Ceshi> lstCeshi, out string sErr)
{
sErr = "";
int ii = 0;
bool bRet = true;
try
{
using (TransactionScope sc = new TransactionScope())
{
//如果生成扩展类请使用Delete()方法方法
foreach (Ceshi bedelmode in lstCeshi)
{
ii++;
Ceshi.Delete(bedelmode.GetPrimaryKeyValue());
//LogHelper.WriteLog(logType.删除 , logModule.Deptrelation,"ceshi删除成功("+bedelmode.GetPrimaryKeyValue().ToString()
//+")!");
}
sc.Complete();
}
}
catch (Exception ex)
{
sErr = "ceshi删除不成功!";
return false;
}
sErr = "共" + ii.ToString() + "条单据删除成功!";
return bRet;
}
public void GetTopUserName(int topCount, string name, out List<string> listId, out List<string> listcname)
{
string sql = string.Format(@"Select id,cname from(Select ROW_NUMBER() over(order by cname)as ROWNUM," +
"id,cname FROM [dbo].[Ceshi] where cname like '%" + name + "%' or dbo.f_GetPy(cname) like '%" + name + "%') as ta where ta.ROWNUM <= " + topCount);
DataTable dt = new DataTable();
QueryCommand qc = new InlineQuery().GetCommand(sql);
dt = DataService.GetDataSet(qc).Tables[0];//将查询出来的数据集放到List中去(查询数据的方法,有很多,这边我用的是Subsonic类自带的查询方法)
listcname = new List<string>();
listId = new List<string>();
foreach (DataRow row in dt.Rows)
{
listId.Add(row[0].ToString());
listcname.Add(row[1].ToString());
}
}
#endregion
}
}
7.webconfig配置
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<configSections>
<section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" requirePermission="false"/>
</configSections>
<connectionStrings>
<add name="DemoTo" connectionString="Data Source=172.17.118.197;Initial Catalog=DemoTo;User Id=sa;Password=password01!;" providerName="System.Data.SqlClient"/>
</connectionStrings>
<SubSonicService defaultProvider="DemoTo">
<providers>
<add name="DemoTo" type="SubSonic.SqlDataProvider, SubSonic" connectionStringName="DemoTo" generatedNamespace="Oceansoft.Net" maxPoolSize="2000"/>
</providers>
</SubSonicService>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<membership>
<providers>
<clear/>
<add name="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/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
新闻热点
疑难解答