2 xinqing0623 xinqing0623 于 2016.04.26 02:24 提问

asp.net动态删除表格的行

当点击表格的某行时,将该行ID赋值给Text.value。_Page_Load里添加代码使得刷新页面时该行被删除
大神们帮帮我,是在是找不出错误来了。
就是没有办法实现删除行的功能。后天获取Text1.Value是什么都没有,为什么会这样呢_
前台代码:

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default10.aspx.cs" Inherits="Default10" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">

    <p>
        <input id="Text1" runat="server" type="text" onclick="return Text1_onclick()" /></p>

    <table id="table1" runat="server" width="100%" border="1">
        <tr id="row1" runat="server" onclick="Text1.value=(this.id)">
            <td>第一行</td>
        </tr>
        <tr id="row2" runat="server" onclick="Text1.value=(this.id)">
            <td>第二行</td>
        </tr>

    </table>
   </form>
</body>
</html>

.CS的代码

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;

public partial class Default10 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        Response.Write(Text1.Value +"aaaaaaaa");
        var p = (HtmlTableRow)this.FindControl(Text1.Value);

        if(Text1.Value != null)
        {

            table1.Rows.Remove(p);

        }
    }
}

7个回答

u010468676
u010468676   2016.04.26 11:07
已采纳

如果用griedview绑定数据源实现数据的增删改查,这样会有实际意义,你这样相当于删除XML文档的某一部分,实际意义并不大,
网上查一下表格的增删改查会有许多代码供你参考http://blog.csdn.net/wanglei_samrtfish/article/details/8070480
这是我随便查的你看看合不合适

showbo
showbo   Ds   Rxr 2016.04.26 09:04

删除功能一般需要结合数据库,直接html页面的dom结构数据你需要用cookie之类的记录已经被删除的行信息,然后Page_Load读取cookie对行进行删除,要不刷新或者重新访问viewstate数据丢失肯定是原始的状态

caozhy
caozhy   Ds   Rxr 2016.04.26 04:51
 protected void Page_Load(object sender, EventArgs e)
    {
if (postback)
{
        Response.Write(Text1.Value +"aaaaaaaa");
        var p = (HtmlTableRow)this.FindControl(Text1.Value);

        if(Text1.Value != null)
        {

            table1.Rows.Remove(p);

        }
    }
        }
xinqing0623
xinqing0623   2016.04.26 02:32

图片说明

xinqing0623
xinqing0623   2016.04.26 02:57

然后我进行修改,添加一个服务器端的控件button。将上面PageLoad的代码剪切到按钮的click事件中。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;

public partial class Default10 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button2_Click(object sender, EventArgs e)
    {

        Response.Write(Text1.Value + "aaaaaaaa");
        var p = (HtmlTableRow)this.FindControl(Text1.Value);

        if (Text1.Value != null)
        {

            table1.Rows.Remove(p);

        }

    }
}

然后就可以点击按钮删除了,但是只能删除一次。后面就会交换行一和行二显示。如果我把text清空,再点击按钮,那么表格就会还原。。新人菜鸟真是十万个不懂,帮帮忙

Len_li_m
Len_li_m   2016.04.26 08:55

可以用Session传递参数
session["rowid"]=Text1.Value

Page_Load时:

if(session["rowid"] != null)
{
var p = (HtmlTableRow)this.FindControl(session["rowid"].Tostring());

        table1.Rows.Remove(p);

    }

这样可以删除一行.

如果要实现动态删除表格的行,你前台代码中的表最好用数据源动态生成.你只要对数据源操作就可以了

CSDNXIAOD
CSDNXIAOD   2016.04.26 02:31

asp.net利用json填充下拉框及js动态添加表格行、删除表格行的示例
asp.net动态创建表格
在ASP.Net中创建动态表格
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ASP.NET中实现动态增加或减少TABLE列和行
//HTML 代码!    //CS代码!public partial class vs2005sample_table : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {        Dtable();         }    //动态生成表单    protecte
asp.net无刷新操作表格(增加,删除行),包括后台如何取值
asp.net无刷新操作表格(增加,删除行),包括后台如何取值 //插入空白行 function insertRow(){ var table=document.getElementById('TestTable'); var tr=table.insertRow(); var datalength=table.rows.length-1; var dataIndex=datalength-1; var TextIDCell=tr.insertCell(); TextIDCell.innerHTML="<input name=\"TextID\" type=\"text\" style=\"width: 100px;text-align:left\" />"; //增加按钮 var BtAddCell=tr.insertCell(); BtAddCell.innerHTML="&nbsp;"; //删除按钮 var BtDeleteCell=tr.insertCell(); BtDeleteCell.innerHTML="&nbsp;"; setButtonAction(); }
js 对表格的动态操作(动态添加行,删除该行,在指定位置添加控件)
***************************************************************** js动态添加表的列,并在列中添加控件的方法 添加行 function addrows() { var table=document.getElementById("t1"); var row; row=table.insertRow(); var ce
JavaScript动态添加/删除表格行
使用原生JavaScript来解决简单的table行动态增删问题
动态删除表格行、列、双击编辑.rar
动态删除表格行、列、双击编辑.rar动态删除表格行、列、双击编辑.rar动态删除表格行、列、双击编辑.rar动态删除表格行、列、双击编辑.rar
jQuery表格操作添加行、删除行和动态移动
源码:添加jquery1.3.2.js既可以使用http://download.csdn.net/detail/mini_jike/9477374(脚本下载地址) html> html lang="en"> head> meta charset="UTF-8"> title>jQuery表格操作添加行、删除行和动态移动丨芯晴网页特效title> script langua
js 操作表格动态添加和删除行
js 操作表格动态添加和删除行
jQuery实现表格行的动态增加与删除(改进版)
http://www.blogjava.net/absolutedo/archive/2009/03/13/259488.html
js实现动态删除表格行和列
记录了动态添加表格的一行,当然这个一行是指一行数据,也就是说一行多少列也是加上的,并且第几列的内容都可以添加上,先来回顾下它的实现的关键点: 1、var row=table.insertRow();添加一行; 2、var cell1=row.insertCell();添加一个单元格;(如果在后面继续写var cell2=row.insertCell()的话,就是添加第二列;) 3
jQuery 动态添加或删除表格行
jQuery 动态添加或删除表格行特效,每点击一次添加,会添加一个表格单元格,点击删除会删掉所有行,基于jQuery插件完成,想研究的朋友下载一看。