Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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
使用Javascript删除Gridview行_Javascript_Asp.net - Fatal编程技术网

使用Javascript删除Gridview行

使用Javascript删除Gridview行,javascript,asp.net,Javascript,Asp.net,我有一个javascript函数来清除包含gridview的表单,我以前尝试过另一种方法来删除行而不进行回发,但不知何故,当我尝试添加新行时,所有以前的行都会被回发。也许我正在使用viewstate来维护我的gridview,不太确定,但下面是我正在做的工作,它工作得很好,但不知怎的,它只删除了一行,我想可能在回发发生时,循环被清除了。有什么建议吗?我需要循环来删除所有gridview行。谢谢 for (i = 0; i < camGv.rows.length; i++) {

我有一个javascript函数来清除包含gridview的表单,我以前尝试过另一种方法来删除行而不进行回发,但不知何故,当我尝试添加新行时,所有以前的行都会被回发。也许我正在使用viewstate来维护我的gridview,不太确定,但下面是我正在做的工作,它工作得很好,但不知怎的,它只删除了一行,我想可能在回发发生时,循环被清除了。有什么建议吗?我需要循环来删除所有gridview行。谢谢

 for (i = 0; i < camGv.rows.length; i++) {
                window.__doPostBack('ctl00$cphBody$gvCamVoucher', 'Delete$0');
            }
for(i=0;i
我想你需要两样东西

1-在客户端从网格中删除行的方法

2-一种在服务器端实现删除效果的方法,以防您进行任何回发 保持删除状态

1-如果有一个页脚具有如下代码所示的分页,您可以在客户端捕获id为的网格视图,并清除其execpt中的all

document.getElementById('grid view id').getElementsByTagName('TBODY').innerHTML='';
如果没有页脚网格寻呼机,这行脚本将删除所有行

2-您必须进行ajax调用,以便与服务器联系,如果该表是数据库中的某个内容,那么您需要使用delete函数来删除数据库中的所有行,如果这只是一个临时表,则与数据库无关,因此我建议将其放在会话中,您可以在ajax调用中访问该会话

JavaScript

$.ajax({
        type: "POST",
        //web method path
        url: "pageName.aspx/webmethodName",
        data: "{action:'delete'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: true,
        cache: false,
        success: function(result) 
           {
           }
        ,error: function(error)
           {
           }
});
ASP.NETCS

[WebMethod]

public string DeleteAll(string action)
{
//you have to put the table from the begining where ever you initialize the data on it inside a session
DataTable dt = (DataTable)HttpContext.Current.Session["tbl"];
dt.Rows.Clear();
HttpContext.Current.Session["tbl"]=dt;
}
问候
任何问题都可以问我:)

我想你需要两样东西

1-在客户端从网格中删除行的方法

2-一种在服务器端实现删除效果的方法,以防您进行任何回发 保持删除状态

1-如果有一个页脚具有如下代码所示的分页,您可以在客户端捕获id为的网格视图,并清除其execpt中的all

document.getElementById('grid view id').getElementsByTagName('TBODY').innerHTML='';
如果没有页脚网格寻呼机,这行脚本将删除所有行

2-您必须进行ajax调用,以便与服务器联系,如果该表是数据库中的某个内容,那么您需要使用delete函数来删除数据库中的所有行,如果这只是一个临时表,则与数据库无关,因此我建议将其放在会话中,您可以在ajax调用中访问该会话

JavaScript

$.ajax({
        type: "POST",
        //web method path
        url: "pageName.aspx/webmethodName",
        data: "{action:'delete'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: true,
        cache: false,
        success: function(result) 
           {
           }
        ,error: function(error)
           {
           }
});
ASP.NETCS

[WebMethod]

public string DeleteAll(string action)
{
//you have to put the table from the begining where ever you initialize the data on it inside a session
DataTable dt = (DataTable)HttpContext.Current.Session["tbl"];
dt.Rows.Clear();
HttpContext.Current.Session["tbl"]=dt;
}
问候
请问我任何问题:)

谢谢你的回答,我从代码隐藏中清除gridview行,并使用更新面板对网格进行分组,以便回发不会以任何方式影响我的其他字段。

谢谢你的回答,我从代码隐藏中清除gridview行,并使用更新面板对网格进行分组,以便回发不会以任何方式影响我的其他字段。

我可以知道如何绑定网格视图吗?是直接添加行还是仅将其绑定到数据表?我有一个答案给你,但请我需要更多的解释嗨,谢谢你的帮助,我正在将它绑定到一个数据表。我可以知道如何绑定网格视图吗?你是直接添加行还是仅仅将它绑定到一个数据表?我有一个答案给你,但是我需要更多的解释嗨,谢谢你的帮助,我正在将其绑定到一个数据表。请告诉我您需要的答案,或者您做了其他事情,因为如果有其他事情,请向我描述以提供更多帮助。请告诉我您需要的答案,或者您做了其他事情,因为如果有其他事情,请向我描述以提供更多帮助