<%@ 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.Text; using System.Web.SessionState; using eMIS; public class CheckPriKey : IHttpHandler, IRequiresSessionState { public void ProcessRequest (HttpContext context) { string programId = context.Request.QueryString["pid"].ToString(); string primaryKeyValue = context.Request.QueryString["pkv"].ToString(); string cellValue = context.Request.QueryString["val"].ToString(); string cellField = context.Request.QueryString["f"].ToString(); string t = context.Request.QueryString["t"].ToString(); string c = context.Request.QueryString["c"].ToString(); string c0 = DataManager.MD5Hash(programId + cellField + primaryKeyValue + t+"sacdmis"); if (c0 != c) { context.Response.Write("验证失败"); context.Response.End(); } if (DateTime.Now.Ticks / 10000000 - long.Parse(t) > 300) { context.Response.Write("超时!"); context.Response.End(); } InstanceManager inst = new InstanceManager(context,programId); DataTable table = inst.BusinessDbOperator.ExecuteTable("select " + cellField + "," + inst.Program.PrimaryKey + " from " + inst.Program.EditTableName + " where " + inst.Program.PrimaryKey + "='" + primaryKeyValue + "'"); if (table.Rows.Count != 0) { DataRow row = table.Rows[0]; if (cellValue == "") row[cellField] = DBNull.Value; else row[cellField] = cellValue; row.AcceptChanges(); row.SetModified(); inst.BusinessDbOperator.Save(table, inst.Program.EditTableName, inst.Program.PrimaryKey); } context.Response.ContentType = "text/plain"; context.Response.ContentEncoding = System.Text.Encoding.UTF8; context.Response.Write("ok"); } public bool IsReusable { get { return false; } } }