您的位置:首页 > 其它

【CRM项目02】省份管理

2017-07-16 17:36 211 查看
这几天把CRM招生系统的省份管理模块做了

做了两套,一套是按老师讲的拖控件做的,一套是不拖任何控件做的

拖控件和不拖控件的差别在于web表现层不同,其他BLL层和DAL层代码一样的

不拖控件用jQuery,Ajax异步请求+一般处理程序,可以实现asp的后台代码功能

而且做出来的效果是无刷新的,拖控件很多东西受限制,不爽。

复习了下jquery的选择器操作,之前有个bug困惑了几个小时,一度怀疑编辑器问题

在就是js版本的兼容性问题,$.toggle这个方法有毛病,很迷,但是就是想用下,结果引入的js有问题



大概就这么几个功能:

<script type="text/javascript">

$(function () {
//初始化时候
SelProAndSchool(-1, "");

//查询按钮
$("#btnSel").click(function () {

var ProName = $("#ProName").val();
var ProID = $("#ProID").val();

var res = /^[1-9]\d*$/;
if (ProID.length > 0 && !res.test(ProID)) {
DJMask.msg('id请输入正整数!!');
$("#proid").focus();
return false;
} else {
DJMask.loading();
setTimeout(function () {
DJMask.closeAll()
SelProAndSchool(ProID, ProName);
}, 500);
}
return false;
});

//全选
$(":checkbox").first().toggle(
function () {
$(":checkbox").attr("checked", true);//全选
},
function () {
$(":checkbox").attr("checked", false);//全不选
}
);

//删除
$("#btnAllDel").click(function () {
var chs = $("#mytbody :checkbox");
var c = 0;
chs.each(function (index) {
if (chs[index].checked) {
var tr = $(chs[index]).parent().parent();
var id = $("td", tr).eq(2).text()+"";
delProID(id);
}
});
SelProAndSchool(-1, "");
});
});

//异步请求:查询表格信息
function SelProAndSchool(ProID, ProName) {
$.ajax({
url: 'MyHandler/HdProSet.ashx',
contentType: 'post',
data: {
action: 'SelProAndSchool',
ProID: ProID,
ProName: ProName,
},
success: function (msg) {
$("#mytbody").empty();
$("#mytbody").append(msg);
del();
UpaProID();
}
});

//添加新省份
$("#btnAddPro").click(function () {
dialog.show("AdminSet/ProAdd.aspx", "添加省份信息", 300, 250);
});
}

//删除事件
function del() {
$(".ImgBtnDel").click(function () {
var tr = $(this).parent().parent();
var id = $("td", tr).eq(2).text()+"";
DJMask.alert("您确认要删除这条数据?", function () {
delProID(id);
});
return false;
});
}
//根据id进行删除
function delProID(id) {
$.ajax({
contentType: 'post',
url: 'MyHandler/HdProSet.ashx',
data: {
action: 'delPro',
DelId: id+"",
},
success: function (msg) {
DJMask.msg(msg);
SelProAndSchool(-1, "");
}
})
return false;
}

function UpaProID() {
$(".ImgBtnUpa").click(function () {
var tr = $(this).parent().parent();
var id = $("td", tr).eq(2).text() + "";
dialog.show("AdminSet/ProAdd.aspx?ProID=" + id, "修改省份信息", 300, 250)
return false;
});
}
</script>

一般处理程序:
public class HdProSet : IHttpHandler
{
private readonly BLL.ProvinceAndSchoolBLL bll = new BLL.ProvinceAndSchoolBLL();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string msg = string.Empty;
string action = context.Request.QueryString["action"];
switch (action)
{
case "SelProAndSchool":
msg = SelProAndSchool(context);
break;
case "selProName":
msg = SelProName(context);
break;
case "delPro":
msg = delProID(context);
break;
case "UpaProInfo":
msg = UpaProInfo(context);
break;
default:
break;
}

context.Response.Write(msg);
}
/// <summary>
/// 修改省份信息
/// </summary>
/// <param name="context"></param>
/// <returns></returns>
private string UpaProInfo(HttpContext context)
{
Model.ProvinceAndSchoolModel model = new Model.ProvinceAndSchoolModel();
model.ProProvince = context.Request.QueryString["ProName"];
model.ProRemarks = context.Request.QueryString["ProRes"];
model.ProvinceID =Int32.Parse(context.Request.QueryString["Proid"]);
if (bll.SelProNameOrAdd(model))
{
return "此省份信息,修改成功!";
}
else
{
return "此省份信息已经存在,添加失败!";
}
}

/// <summary>
/// 根据ID进行删除
/// </summary>
/// <param name="context"></param>
/// <returns></returns>
private string delProID(HttpContext context)
{
string id = context.Request.QueryString["DelId"];
if (bll.DelProById(id))
{
return "省份信息,删除成功!";
}else
{
return "省份信息,删除失败!";
}
}

/// <summary>
/// 查询ProName,省份名称是否已经存在,存在不添加,不存在添加
/// </summary>
/// <param name="context"></param>
/// <returns></returns>
private string SelProName(HttpContext context)
{
Model.ProvinceAndSchoolModel model = new Model.ProvinceAndSchoolModel();
model.ProProvince = context.Request.QueryString["ProName"];
model.ProRemarks = context.Request.QueryString["ProRes"];
model.ProvinceID = -1;
if (bll.SelProNameOrAdd(model))
{
return "此省份信息,添加成功!";
}else
{
return "此省份信息已经存在,添加失败!";
}
}

/// <summary>
/// 联合查询
/// </summary>
/// <param name="context"></param>
/// <returns></returns>
private string SelProAndSchool(HttpContext context)
{
StringBuilder sb = new StringBuilder();
Model.ProvinceAndSchoolModel model = new Model.ProvinceAndSchoolModel();
string id = context.Request.QueryString["ProID"];
if(id.Length>0)
model.ProvinceID = int.Parse(id);
else
model.ProvinceID = -1;
model.ProProvince = context.Request.QueryString["ProName"];
DataTable dt = bll.SelProData(model);

foreach (DataRow row in dt.Rows)
{
sb.Append("<tr><td><input type='checkbox' value='' /></td>");
sb.Append("<td>" + row["id"] + "</td>");
sb.Append("<td>" + row["ProvinceID"] + "</td>");
sb.Append("<td>" + row["Province"] + "</td>");
sb.Append("<td>" + row["SchoolCount"] + "</td>");
sb.Append("<td>" + row["Remarks"] + "</td>");
sb.Append("<td><input type='image' alt='查看校区' class='ImgBtn' src='images/vie.gif' /></td>");
sb.Append("<td><input type='image' alt='修改' class='ImgBtnUpa' src='images/common/edit.png' /></td>");
sb.Append("<td><input type='image' alt='删除' class='ImgBtnDel' src='images/common/delete.png'/></td></tr>");
}
return sb.ToString(); ;
}

BLL部分就两个亮点,一个多条件组合查询,老师讲的方法还是有点毛病的,不够通用,以后有用到我在写下
添加判断省份是否存在,修改判断省份是否存在,然后多条数据删除,也学到一些东西。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: