<%@ 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; public class CheckPriKey : IHttpHandler, IRequiresSessionState { public void ProcessRequest (HttpContext context) { string menuId = context.Request.QueryString["mid"].ToString(); string recordId = context.Request.QueryString["rid"].ToString(); StringBuilder sb = new StringBuilder(); DataManager dm = new DataManager(); InstanceManager inst = new InstanceManager(context, dm, menuId); ProgramManager program = inst.Program; inst.AllowSaveState = false; //inst.QueryCondition = condtion; DataTable table = inst.BusinessDbOperator.ExecuteTable("select " + inst.Program.ListSqlSelect + " from " + inst.Program.ListTableName + " where " + inst.Program.PrimaryKey+"=?",CommandType.Text,recordId); ControlManager control = new ControlManager(inst); int l = table.Columns.Count; int i; sb.Append("["); DataTable elements = inst.Program.ListElements; int elementsCount = elements.Rows.Count; string t,v; int c = table.Rows.Count; DataRow businessDataRow=null; for (int idx = 0; idx < c;idx++ ) { if (idx != 0) sb.Append(","); businessDataRow = table.Rows[idx]; sb.Append("["); for (i = 0; i < elementsCount; i++) { control.Init(businessDataRow, elements.Rows[i]); t= control.Text; t = t.Replace("\"", """); t = t.Replace("\\", "\\\\"); t = t.Replace("\r\n", "\\r\\n"); v = control.Value; v = v.Replace("\"", """); v = v.Replace("\\", "\\\\"); v = v.Replace("\r\n", "\\r\\n"); if (i != 0) sb.Append(","); sb.Append("{value:\""+v+"\",text:\""+t+"\"}"); } sb.Append("]"); } sb.Append("]"); context.Response.Write(sb.ToString()); } public bool IsReusable { get { return false; } } }