用Jquary ajax 请求做了一个多选删除的功能 现在遇到一点问题.多选之后 ashx页面返回的值不是"0" 比如我勾选一个的时候 点击删除按钮 提示删除成功 但是勾选了2个返回的就是00了 这个时候我ajax请求中的返回成功的函数是0 所以没有执行提示成功和刷新页面很头疼.大家帮忙看看.
//全选或全不选
$(function(){
$('#CheckAll').click(function() {
// 全选或者取消全选
$('input[type=checkbox]').attr("checked", $(this).attr("checked"));
})
});
// 删除按钮
$('#BtnDelete').click(function() {
var msg = confirm("确定删除吗?");
if(msg){
var strids = "";
$("input[type=checkbox]:checked:not('#CheckAll')").each(function() {
// 获得ID
strids += $(this).parent().next("td").next("td").html()+"|";
//$('#Hidden7').val(strids);
});
$.ajax({
type:"get",//请求方式
url:"../ajax/AjaxDeleteRes.ashx",//载入页面的URL地址
data:{id:strids},
success:function(data){//返回成功的函数
if(data =="0"){
alert('删除成功!');
show();
setTimeout("window.location.href='../PublicResources/PublicResources.aspx'",500);
}
}
});
}
});
ashx页面//获取资源编号
string fielid = context.Request["id"];
string[] fileids = fielid.TrimEnd('|').Split('|');//用|分开各个资源编号
Asiastar.NRBLL.File bll = new Asiastar.NRBLL.File();
foreach( string guid in fileids ) //遍历编号集
{
if( bll.FN_SerchPathByFileId(new Guid(guid)) != null || bll.FN_SerchPathByFileId(new Guid(guid)).Tables[0].Rows.Count > 0 )
{
for( int i = 0 ; i < bll.FN_SerchPathByFileId(new Guid(guid)).Tables[0].Rows.Count ; i++ )
{
string path = bll.FN_SerchPathByFileId(new Guid(guid)).Tables[0].Rows[i]["FilePath"].ToString(); //定义变量接收数据库资源完整路径
if( !Directory.Exists(path) )
{
try
{ System.IO.File.Delete(path); //如果路径存在 先删除服务器上的文件 在执行对数据库filepath的删除操作
}
catch( Exception ex )
{
NR.Error.Log.LogType(ex.ToString());
}
NRBLL.File nbf = new Asiastar.NRBLL.File();
if( nbf.FN_DeleteRes(new Guid(guid)) == true )
{
context.Response.Write("0");
NR.Error.Log.LogType("删除资源成功!" + path);
}
else
{
context.Response.Write("1");
NR.Error.Log.LogType("添加资源失败!" + path);
}
}
}
}
}
//全选或全不选
$(function(){
$('#CheckAll').click(function() {
// 全选或者取消全选
$('input[type=checkbox]').attr("checked", $(this).attr("checked"));
})
});
// 删除按钮
$('#BtnDelete').click(function() {
var msg = confirm("确定删除吗?");
if(msg){
var strids = "";
$("input[type=checkbox]:checked:not('#CheckAll')").each(function() {
// 获得ID
strids += $(this).parent().next("td").next("td").html()+"|";
//$('#Hidden7').val(strids);
});
$.ajax({
type:"get",//请求方式
url:"../ajax/AjaxDeleteRes.ashx",//载入页面的URL地址
data:{id:strids},
success:function(data){//返回成功的函数
if(data =="0"){
alert('删除成功!');
show();
setTimeout("window.location.href='../PublicResources/PublicResources.aspx'",500);
}
}
});
}
});
ashx页面//获取资源编号
string fielid = context.Request["id"];
string[] fileids = fielid.TrimEnd('|').Split('|');//用|分开各个资源编号
Asiastar.NRBLL.File bll = new Asiastar.NRBLL.File();
foreach( string guid in fileids ) //遍历编号集
{
if( bll.FN_SerchPathByFileId(new Guid(guid)) != null || bll.FN_SerchPathByFileId(new Guid(guid)).Tables[0].Rows.Count > 0 )
{
for( int i = 0 ; i < bll.FN_SerchPathByFileId(new Guid(guid)).Tables[0].Rows.Count ; i++ )
{
string path = bll.FN_SerchPathByFileId(new Guid(guid)).Tables[0].Rows[i]["FilePath"].ToString(); //定义变量接收数据库资源完整路径
if( !Directory.Exists(path) )
{
try
{ System.IO.File.Delete(path); //如果路径存在 先删除服务器上的文件 在执行对数据库filepath的删除操作
}
catch( Exception ex )
{
NR.Error.Log.LogType(ex.ToString());
}
NRBLL.File nbf = new Asiastar.NRBLL.File();
if( nbf.FN_DeleteRes(new Guid(guid)) == true )
{
context.Response.Write("0");
NR.Error.Log.LogType("删除资源成功!" + path);
}
else
{
context.Response.Write("1");
NR.Error.Log.LogType("添加资源失败!" + path);
}
}
}
}
}
解决方案 »
- *******字符串替换
- 关于 微软论坛 源码
- ********treeview当选中前面的复选框时怎么样调用服务器代码******
- 在后台怎样实现像javascript的confirm('')一样的确认对话框,点确定后继续执行的效果,仅剩30分了
- .NET中如何取得服务器的IP地址
- 急求关于DataGrid数据读取的问题,求帮助
- 求助《ASP.net揭秘第二版》中的一个问题
- 请教如何将 域名 指向服务器一个站点下的文件夹
- C#里如何让尺寸太大的图片自动缩小?
- 一段添加记录的asp.net程序出错,幫幫忙,高手們.
- 这行代码什么作用???
- <img src=<%# Server.MapPath("pic.jpg") %> runat="server"/>,这样写为啥不行
所以想办法把 NRBLL.File nbf = new Asiastar.NRBLL.File();
if( nbf.FN_DeleteRes(new Guid(guid)) == true )
{
context.Response.Write("0");
NR.Error.Log.LogType("删除资源成功!" + path);
}
else
{
context.Response.Write("1");
NR.Error.Log.LogType("添加资源失败!" + path);
}
放到for循环外面
alert('删除成功!');
show();
setTimeout("window.location.href='../PublicResources/PublicResources.aspx'",500);
}
你截取第一个0不就行了么。
我表达能力有问题?