当前位置:编程学习 > C#/ASP.NET >>

请教一个关于table的问题

我在前台定义了一个table,代码如下:
<ASP:Table Runat="Server" GridLines="Both" CellPadding="4" id="Table2" HorizontalAlign="Center">  
<ASP:TableRow ID="TableRow1" Runat="Server"> 
<ASP:TableCell ID="TableCell1" Runat="Server"  Text="产品"/> 
<ASP:TableCell ID="TableCell2" Runat="Server" Text="数量"/>
<ASP:TableCell ID="TableCell3" Runat="Server"  Text="单价"/> 
<ASP:TableCell ID="TableCell4" Runat="Server"  Text="总金额"/>   
<ASP:TableCell ID="TableCell5" Runat="Server" Text="操作"> 
</ASP:TableCell> 
</ASP:TableRow>
</asp:Table>

然后通过javascript往table中添加了若干行。现在定义了一个Button,想通过Button在后台获取table中的数据,代码如下:
protected void Button1_Click(object sender, EventArgs e)
    {
        String aa = Table2.Rows[1].Cells[1].Text.ToString();
        Response.Write(aa);
    }
提示错误说“指定的参数已超出有效值的范围”。

但是如果换成String aa = Table2.Rows[0].Cells[1].Text.ToString();
就能正常显示“数量”。

请问这是为什么?怎么才能获得table中的数据? --------------------编程问答-------------------- 暂不考虑你js添加的内容。
你现在的table2中只有一行,而Rows[1]是第二行,所以超出了最大索引。
如果你用js添加了行,那么肯定是在后台没有获取到。 --------------------编程问答-------------------- 恩,click事件里最好先判断一下Table2.Rows.Count
再执行你要做的事 --------------------编程问答-------------------- 因为你是用js动态在客户端添加的HTML代码,所以当你点击按钮回发时页面刷新,这样没办法获取到的。
--------------------编程问答-------------------- 说明你的table只有一行 --------------------编程问答-------------------- 你的JS是怎么往里添加的 --------------------编程问答--------------------
引用 3 楼 dd__dd 的回复:
因为你是用js动态在客户端添加的HTML代码,所以当你点击按钮回发时页面刷新,这样没办法获取到的。

回发了,又要重新给table赋值,故取不到 --------------------编程问答-------------------- 你的表中只有一行,0代表的是第一行,1代表的是第二行 --------------------编程问答-------------------- 你的表中只有一行 --------------------编程问答--------------------
引用 3 楼 dd__dd 的回复:
因为你是用js动态在客户端添加的HTML代码,所以当你点击按钮回发时页面刷新,这样没办法获取到的。

那怎么才能取到值? --------------------编程问答--------------------
引用 5 楼 ivws_19 的回复:
你的JS是怎么往里添加的

从excel中读出数据,然后再把数据加到table中。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,