EasyUI后台成功删除记录后,前台却总显示"删除失败"

northow 2011-09-10 09:44:12
EasyUI后台成功删除记录后,前台却总显示"删除失败"
用的是EasyUI,具体错误描述在代码中,请赐教,感谢!
在JS文件中是这样写的:

function del() {
var arr = getSelectedArr();
if (arr.length > 0) {
$.messager.confirm('提示信息', '您确认要删除吗?', function (data) {
if (data) {
$.ajax({
url: 'UserService.ashx?Action=delete&id=' + arr2str(arr),
type: 'GET',
timeout: 1000,
error: function () {
$.messager.alert('错误', '删除失败!', 'error'); //总是执行这一句,没来得及返回值
// grid.datagrid('reload');
// grid.datagrid('clearSelections');
},
success: function (data) {
eval('data=' + data);
if (data.success) { //成功原本是应该执行这里的
grid.datagrid('reload');
grid.datagrid('clearSelections');
} else {
$.messager.alert('错误', data.msg, 'error');
}
}
});
}
});
} else {
Msgshow('请先选择要删除的记录。');
}


后台处理方法:

private string Delete()
{
string result = string.Empty;
bool success = false;
string idString = ParamsofEasyUI.RequstString("id");
List<string> idList = SiteFun.GenerateList(idString, ",");
foreach (var item in idList)
{
success = dal.Delete(new Guid(item)); //这里进行数据交互,成功则返回true,否则返回false
if (success == false)
break;
}
result = JsonHelper<UserModel>.BoolToJson(success);
return result;
}


数据交互:

public bool Delete(Guid id)
{
bool result = false;
using (BricksCMSEntitiesProxy proxy = this.GetProxy())
{
var record = proxy.Context.BC_User.Where(v => v.ID == id).FirstOrDefault();
if (record != null)
{
proxy.Context.DeleteObject(record);
result = true;
}
proxy.Context.SaveChanges(); //为什么执行到这里,浏览器前台就响应了?都还没来得及返回值
return result;
}
}
...全文
241 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
文少 2012-08-13
  • 打赏
  • 举报
回复
此处的result 必须是标准的json格式{"key","value"}
你可以这样返回
string result="\"msg\":\"true\"";
return result;
md5e 2011-09-11
  • 打赏
  • 举报
回复
page_load?
northow 2011-09-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 winner2050 的回复:]

应该好好学习 jquery 啊,它跟easyui 不分家的。

首先,你得断点调试 eval('data=' + data) 是否为json 格式啊

jquery 自带有string 转换为json 的函数,1.5版本以后非常严格执行标准。
转换不成功就是null 了,当然不执行后面的代码啦。
[/Quote]
谢谢回复!刚使用Jquery和EasyUI,见谅。
进行调试时,并不执行到eval('data=' + data)这句来...
删除后,先进入error: function () ,然后进入success: function (data)后直接跳出,并不执行函数内的代码??
winner2050 2011-09-11
  • 打赏
  • 举报
回复
应该好好学习 jquery 啊,它跟easyui 不分家的。

首先,你得断点调试 eval('data=' + data) 是否为json 格式啊

jquery 自带有string 转换为json 的函数,1.5版本以后非常严格执行标准。
转换不成功就是null 了,当然不执行后面的代码啦。
northow 2011-09-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liuchaolin 的回复:]

page_load?
[/Quote]
谢谢回复!
处理的Action是在UserService.ashx处理文件中,而没写在aspx.cs文件中,所以应该不存在Page_Load的问题
northow 2011-09-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 stain_less 的回复:]

沙发,帮你顶一下
[/Quote]
谢谢帮顶...继续等待回复...^_^

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧