62,075
社区成员
发帖
与我相关
我的任务
分享
<script src="../../../Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="../../../Scripts/jquery.easyui.min.js" type="text/javascript"></script>
<script type="text/javascript">
function GetName(para) {
$("#Text1").combobox({
url: 'VisaLogin.ashx?method=GetName¶='+para,
valueField: 'Unit_Name',
textField: 'Unit_Name',
editable: true, width: 260
})
}
</script>
自动补全:<input id="Text1" onkeyup="GetName(this.value)"/>
public class VisaLogin : IHttpHandler {
private HttpContext context = null;
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
this.context = context;
string method = context.Request["method"];
switch (method)
{
case "GetName":
GetName(context);
break;
default:
break;
}
}
//自动补全
private void GetName(HttpContext context)
{
context.Response.ContentType = "json";
string para = context.Request["para"];
String json = JsonUtils.ToJson(VisaComponent.GetAllUnit(para).Tables[0]);
context.Response.Write(json);
}
/// <summary>
/// Datatable转换为Json
/// </summary>
/// <param name="table">Datatable对象</param>
/// <returns>Json字符串</returns>
public static string ToJson(DataTable dt)
{
StringBuilder jsonString = new StringBuilder();
jsonString.Append("[");
DataRowCollection drc = dt.Rows;
for (int i = 0; i < drc.Count; i++)
{
jsonString.Append("{");
for (int j = 0; j < dt.Columns.Count; j++)
{
string strKey = dt.Columns[j].ColumnName;
string strValue = drc[i][j].ToString();
Type type = dt.Columns[j].DataType;
jsonString.Append("\"" + strKey + "\":");
strValue = StringFormat(strValue, type);
if (j < dt.Columns.Count - 1)
{
jsonString.Append(strValue + ",");
}
else
{
jsonString.Append(strValue);
}
}
jsonString.Append("},");
}
jsonString.Remove(jsonString.Length - 1, 1);
jsonString.Append("]");
return jsonString.ToString();
}
/// <summary>
/// 自动补全
/// </summary>
/// <returns></returns>
public static DataSet GetAllUnit(string unitName)
{
string sql = "SP_UNIT_GETALL";
SqlParameter[] para = new SqlParameter[] {
new SqlParameter("@Unit_Name",unitName)
};
return SqlHelper.ExecuteDataset(SqlHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, sql,para);
}
create table T_UNIT(
Unit_Name varchar(50) not null
)
ALTER PROCEDURE [dbo].[SP_UNIT_GETALL]
@Unit_Name varchar(50)
AS
BEGIN
select Unit_Name from T_UNIT
where Unit_Name like @Unit_Name+'%'
END