通过Ajax和鉴权删除记录的方法
2017-05-28 11:28:51 访问(1449) 赞(0) 踩(0)
-
几个部分:
1、页面CS代码实现动态生成删除按钮
2、页面Aspx代码实现Ajax调用
3、枚举定义
4、AjaxDeleteSlowXItem的Handler实现删除
5、相关的鉴权代码
-
/// <summary>
/// 页面加密密钥 +
/// </summary>
protected readonly static string pageSignKey
=
System.Configuration.ConfigurationManager.AppSettings
["SlowX.WebSite.BLL.WebSiteBasicBLL.pageSignKey"];
/// <summary>
/// 网站MD5加密 +
/// </summary>
/// <param name="text"></param>
/// <returns></returns>
public string WebSiteMD5(string text)
{
return GetGB2312MD5(text + pageSignKey);
}
/// <summary>
/// 网站MD5校验 +
/// </summary>
/// <param name="text"></param>
/// <returns></returns>
public bool WebSiteMD5Check(string text,string sign)
{
return GetGB2312MD5(text + pageSignKey) == sign;
}
/// <summary>
/// 获得GB2312编码的MD5值 - GetGB2312MD5 +
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public string GetGB2312MD5(string s)
{
if (s == null)
s = "";
MD5 md5 = new MD5CryptoServiceProvider();
byte[] t = md5.ComputeHash(System.Text.Encoding.GetEncoding("GB2312").GetBytes(s));
StringBuilder sb = new StringBuilder(32);
for (int i = 0; i < t.Length; i++)
{
sb.Append(t[i].ToString("x").PadLeft(2, '0'));
}
return sb.ToString();
}
-
// 删除记录 //
function AjaxDeleteSlowXItem(oId, oEm, dt, sign) {
if (!confirm("确定删除?"))
return;
var ajaxUrl = "<%=strPhyPath %>/Ajax/Common/AjaxDeleteSlowXItem.ashx?id=" + oId + "&em=" + oEm + "&dt=" + dt + "&sign=" + sign;
$.ajax({
cache: false,
async: true,
url: ajaxUrl,
type: 'post',
success: function(data) {
alert("删除成功");
window.location = window.location;
}
});
}
-
/// <summary>
/// 设定关联表格
/// </summary>
SlowX.WebLib.Enums.BllTable.EmBllTable m_EmBllTableV
=
SlowX.WebLib.Enums.BllTable.EmBllTable.None;
/// <summary>
///
/// </summary>
public SlowX.WebLib.Enums.BllTable.EmBllTable EmBllTableV
{
get
{
return m_EmBllTableV;
}
set
{
m_EmBllTableV = value;
}
}
// 删除记录 //
if (EmBllTableV != SlowX.WebLib.Enums.BllTable.EmBllTable.None
&& curId != 0)
{
string backDoorText = "";
string curStrId = curId.ToString();
string dt = DateTime.Now.ToString("yyyyMMddHHmmss");
string sign
=
WebSiteBLL.instance.WebSiteMD5(curId + dt + "#" + ((int)EmBllTableV).ToString());
backDoorText = "<span style=\"cursor:pointer;color:red;\" onclick=\"AjaxDeleteSlowXItem(" + curId + "," + ((int)EmBllTableV).ToString() + ",'" + dt + "','" + sign + "');\" >[删除]</span>";
}
-
#region Enum
/// <summary>
/// 逻辑表
/// </summary>
public enum EmBllTable
{
/// <summary>
/// None
/// </summary>
None = 1,
/// <summary>
/// Code
/// </summary>
Code,
/// <summary>
/// Image
/// </summary>
Image,
/// <summary>
/// News
/// </summary>
News
}
#endregion Enum
-
<%@ WebHandler Language="C#" Class="AjaxDeleteSlowXItem" %>
using System;
using System.Web;
public class AjaxDeleteSlowXItem : IHttpHandler
{
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string strId = context.Request.QueryString["id"];
string emV = context.Request.QueryString["em"];
string dt = context.Request.QueryString["dt"];
string sign = context.Request.QueryString["sign"];
if (strId == null || strId.Length == 0)
{
context.Response.Write("没有获得ID");
return;
}
if (dt == null || dt.Length == 0)
{
context.Response.Write("参数错误");
return;
}
if (sign == null || sign.Length == 0)
{
context.Response.Write("参数错误");
return;
}
if (!WebSiteBLL.instance.WebSiteMD5Check
(
strId + dt + "#"+emV,
sign)
)
{
context.Response.Write("鉴权失败");
return;
}
SlowX.WebLib.Business.UTB_WEB_CODE_ITEM
bll_CodeItem
=
SlowX.WebLib.Business.UTB_WEB_CODE_ITEM.instance;
try
{
int theResult = 0;
SlowX.WebLib.Enums.BllTable.EmBllTable em
= SlowX.WebLib.Enums.BllTable.GetEmByString(emV);
switch (em)
{
case SlowX.WebLib.Enums.BllTable.EmBllTable.None:
break;
case SlowX.WebLib.Enums.BllTable.EmBllTable.Code:
//bll_CodeItem.
theResult = bll_CodeItem.CodeUpdateDelete(strId, null);
break;
}
if (theResult == 0)
{
context.Response.Write("没有记录。");
}
else
{
context.Response.Write("删除成功。");
}
}
catch (Exception err)
{
context.Response.Write("发生异常:" + err.Message);
}
}
public bool IsReusable {
get {
return false;
}
}
}
上一条:
下一条:
相关评论
发表评论