Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用jQueryJSON和c进行多次删除#_C#_Jquery_Html - Fatal编程技术网

C# 使用jQueryJSON和c进行多次删除#

C# 使用jQueryJSON和c进行多次删除#,c#,jquery,html,C#,Jquery,Html,我已经使用jQuery json绑定了一个html表。我想使用jQuery json获取多个复选框值,并通过所选的多重删除方法删除。这是我绑定表的代码 $(function () { $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", url: "WebForm5.aspx/BindDatatable", data: "{}",

我已经使用jQuery json绑定了一个html表。我想使用jQuery json获取多个复选框值,并通过所选的多重删除方法删除。这是我绑定表的代码

$(function () {
     $.ajax({
 type: "POST",
         contentType: "application/json; charset=utf-8",
         url: "WebForm5.aspx/BindDatatable",
         data: "{}",
         dataType: "json",
         success: function (dt) {
             debugger;
             for (var i = 0; i < dt.d.length; i++) {
                 $("#example1 > tbody").append("<tr><td> <input type='checkbox' /></td><td>" + dt.d[i].CategoryID + "</td><td>" + dt.d[i].Name + "</td><td>" + dt.d[i].Status + "</td><td> <button type='submit'>Submit</button><button type='submit'  onclick='deleteRecord(" + dt.d[i].CategoryID + ")'>Delete</button> </tr>");

             }
             $("#example1").DataTable();

         },
         error: function (result) {
             alert("Error");
         }
     });

 });
在《基本法》中:

public string CategoryDelete(int CategoryID)
{
    using (KSoftEntities db = new KSoftEntities())
    {
        try
        {

            var categoryDetails = db.tblCategories.Where(i => i.CategoryID == CategoryID).SingleOrDefault();
            db.tblCategories.Remove(categoryDetails);

            db.SaveChanges();
            return "Record deleted successfully";
        }
        catch (Exception ex)
        {

        }
        return "Error on deletion";
    }
}
我想在服务器端删除它,这意味着在我的数据库(Sql)上也要删除它,所以我应该怎么做


我想通过单击数据库上的多个复选框来删除多行。我在上面也提到了后端代码。我想通过单击2到3复选框来删除html表中的行(根据数据可能会有所不同),然后单击删除所选按钮。

要使用jQuery选择所有可用的复选框,请使用下面的代码:

$('input[type=checkbox]').prop("checked", this.checked);

// or use attribute way
$('input[type=checkbox]').attr("checked", "checked");
要实现多个选择,而不是选择所有复选框,请在ajax调用之前使用JS数组将复选框值保存到JSON序列化中(有关参考信息,请参阅和):

在web方法上,将数组作为方法的输入列表传递,并执行所需的操作:

[WebMethod]
// note clear difference between single and multiple selections
public static void deleteRecord(List<int> Id)
{
    clsCategoryBL objproject = new clsCategoryBL();

    // iterate through input list and pass to process method
    for (int i = 0; i < Id.Count; i++) 
    {
        objproject.CategoryDelete(Id[i]);
    }
}

public String CategoryDelete(int CategoryID)
{
    using (KSoftEntities db = new KSoftEntities())
    {
        try
        {
            var categoryDetails = db.tblCategories.Where(i => i.CategoryID == CategoryID).SingleOrDefault();
            db.tblCategories.Remove(categoryDetails);

            db.SaveChanges();

            // Advice: Place this line below somewhere after all iteration process finished
            return "Record deleted successfully"; 
        }
        catch (Exception ex)
        {

        }
        return "Error on deletion";
    }
}
[WebMethod]
//注意单选和多选之间的明显区别
公共静态无效删除记录(列表Id)
{
clsCategoryBL objproject=新的clsCategoryBL();
//迭代输入列表并传递给process方法
对于(int i=0;ii.CategoryID==CategoryID.SingleOrDefault();
db.TBL类别。删除(类别详细信息);
db.SaveChanges();
//建议:在所有迭代过程完成后,将这一行放在下面的某个地方
返回“记录删除成功”;
}
捕获(例外情况除外)
{
}
返回“删除时出错”;
}
}
这个解决方案只是一个框架,您可以根据需要修改它,以确定应该执行哪些操作


欢迎进一步编辑和评论。

要使用jQuery选择所有可用复选框,请使用以下代码:

$('input[type=checkbox]').prop("checked", this.checked);

// or use attribute way
$('input[type=checkbox]').attr("checked", "checked");
要实现多个选择,而不是选择所有复选框,请在ajax调用之前使用JS数组将复选框值保存到JSON序列化中(有关参考信息,请参阅和):

在web方法上,将数组作为方法的输入列表传递,并执行所需的操作:

[WebMethod]
// note clear difference between single and multiple selections
public static void deleteRecord(List<int> Id)
{
    clsCategoryBL objproject = new clsCategoryBL();

    // iterate through input list and pass to process method
    for (int i = 0; i < Id.Count; i++) 
    {
        objproject.CategoryDelete(Id[i]);
    }
}

public String CategoryDelete(int CategoryID)
{
    using (KSoftEntities db = new KSoftEntities())
    {
        try
        {
            var categoryDetails = db.tblCategories.Where(i => i.CategoryID == CategoryID).SingleOrDefault();
            db.tblCategories.Remove(categoryDetails);

            db.SaveChanges();

            // Advice: Place this line below somewhere after all iteration process finished
            return "Record deleted successfully"; 
        }
        catch (Exception ex)
        {

        }
        return "Error on deletion";
    }
}
[WebMethod]
//注意单选和多选之间的明显区别
公共静态无效删除记录(列表Id)
{
clsCategoryBL objproject=新的clsCategoryBL();
//迭代输入列表并传递给process方法
对于(int i=0;ii.CategoryID==CategoryID.SingleOrDefault();
db.TBL类别。删除(类别详细信息);
db.SaveChanges();
//建议:在所有迭代过程完成后,将这一行放在下面的某个地方
返回“记录删除成功”;
}
捕获(例外情况除外)
{
}
返回“删除时出错”;
}
}
这个解决方案只是一个框架,您可以根据需要修改它,以确定应该执行哪些操作


欢迎任何进一步的编辑和评论。

基本上,可以在客户端使用复选框的id属性获取多个复选框值,因此您只需将数据序列化为一个值数组,并在服务器上使用
foreach
对其进行处理。另外,
WebForm5.aspx/BindDatatable
调用代码隐藏方法可能不是一种正确的方法,在调用自定义处理方法时使用查询字符串。您能简单地告诉我吗???写下一些代码?如何获取id??您的“要删除的多个选择”复选框是否使用特定的id模式动态创建?如果是,构建一个JS数组并在JS端迭代一个for循环以获取值数组,然后在服务器端调用中使用foreach逐个拾取值并删除它们。是的,但是如何???jquery和c#的代码是什么?如何获取数组的值以及如何进行多次删除?请检查发布的解决方案,这可能与您的需求相去甚远,但至少可以指出您的基本问题。基本上,可以在客户端使用复选框的id属性获取多个复选框值,因此您只需将数据序列化为一个值数组,并在服务器上使用
foreach
对其进行处理。另外,
WebForm5.aspx/BindDatatable
调用代码隐藏方法可能不是一种正确的方法,在调用自定义处理方法时使用查询字符串。您能简单地告诉我吗???写下一些代码?如何获取id??您的“要删除的多个选择”复选框是否使用特定的id模式动态创建?如果是,构建一个JS数组并在JS端迭代一个for循环以获取值数组,然后在服务器端调用中使用foreach逐个拾取值并删除它们。是的,但是如何???jquery和c#的代码是什么?如何获取数组的值以及如何进行多次删除?请检查发布的解决方案,这可能与你的需求相去甚远,但至少可以指出你的基本问题。