<%@ WebHandler Language="C#" Class="CheckPriKey" %> using System; using System.Collections.Generic; using System.Web; using System.Data; using System.IO; using eMIS.Data; using System.Data.Common; using System.Text; using System.Web.SessionState; using eMIS; using System.Text.RegularExpressions; public class CheckPriKey : IHttpHandler, IRequiresSessionState { public void ProcessRequest (HttpContext context) { string menuId = context.Request.QueryString["pid"].ToString(); string controlId = context.Request.QueryString["cid"].ToString(); string searchWord = context.Request.QueryString["sw"].ToString(); string pageType = context.Request.QueryString["pt"].ToString(); string field = context.Request.QueryString["f"].ToString(); string f="" ; bool b = false; ; if (searchWord != "") { f = searchWord.Substring(0, 1); System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^[A-Za-z]+$"); b = reg1.IsMatch(f); } DataManager dm = new DataManager(); InstanceManager inst = new InstanceManager(context, menuId); ProgramManager program = inst.Program; DataTable elements = null; if (pageType=="0") elements = program.EditElements; else elements = program.QueryElements; int i, l; ValueTagManager tag = new ValueTagManager(inst); ControlManager control = new ControlManager(inst); l = elements.Rows.Count; DataRow row=null; for (i = 0; i < l; i++) { control.Init(row, elements.Rows[i]); if (control.ControlID == controlId) { break; } } StringBuilder sb = new StringBuilder(); sb.Append("[{value:'',text:''}"); string defaultCondition = inst.DefaultCondition; if (defaultCondition == "") defaultCondition = "1=1"; if (pageType == "0") defaultCondition = "1=1"; string sql = "select " + control.GetDataField; bool updated = (control.UpdateField != ""); if(updated) sql+=","+control.UpdateField; sql += " from " + StringHelper.GetLeftString(control.GetDataField) + " where " + defaultCondition; if(b) { if(field=="1") sql += " and dbo.GetAllPY("+control.GetDataField +") like '" + searchWord + "%'"; else sql += " and " + field + " like '" + searchWord + "%'"; //sql += " and " + control.GetDataField + "_sp like '%" + searchWord + "%'"; } else { sql += " and " + control.GetDataField +" like '%" + searchWord + "%'"; } sql += " order by " + control.GetDataField; DbDataReader reader = inst.BusinessDbOperator.ExecuteReader(sql); i = 0; while (reader.Read()) { if(updated) sb.Append(",{value:'" + reader[1].ToString() + "',text:'" + reader[0].ToString() + "'}"); else sb.Append(",{value:'" + reader[0].ToString() + "',text:'" + reader[0].ToString() + "'}"); } reader.Close(); sb.Append("]"); context.Response.Write(sb.ToString()); } public bool IsReusable { get { return false; } } }