代码改变世界

ASP.NET 2.0 利用 checkbox获得选中行的行号, 在footer中显示

  Virus-BeautyCode  阅读(2083)  评论(1编辑  收藏  举报
我的思路是添加一个隐藏列,里面放一个textbox控件,用来记录行号,然后在运行的时候取出来显示在footer中。
隐藏列为第一列,checkbox添加到模板列中,利用它的OnCheckedChanged事件执行代码,填充行号到footer
页面代码如下
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" ShowFooter="True" 
        DataSourceID
="SqlDataSource1" OnRowDataBound="GridView1_RowDataBound" 
        OnSelectedIndexChanged
="GridView1_SelectedIndexChanged" >
            
<Columns>
                
<asp:TemplateField>
                    
<ItemTemplate>
                        
<asp:TextBox ID="rowNumber" runat="server">12</asp:TextBox>
                    
</ItemTemplate>
                
</asp:TemplateField>
                
<asp:TemplateField HeaderText="选择">
                    
<ItemTemplate>
                        
<asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged" AutoPostBack="True" />
                    
</ItemTemplate>
                    
<FooterTemplate >
                        
<asp:Label ID="lblmsg" runat="server">你点击了第</asp:Label>
                    
</FooterTemplate>
                    
<ControlStyle Width="200px" />
                
</asp:TemplateField>
                   
            
</Columns>
            
        
</asp:GridView>


后台代码如下
 protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    
{
        
//Response.Write();
        GridViewRow row = ((CheckBox)sender).Parent.Parent as GridViewRow;
        TextBox tb 
= (TextBox)(row.FindControl("rowNumber"));
        GridView1.FooterRow.Cells[
1].Text = tb.Text;
        
//Response.Write(tb.Text);
    }

测试通过,谢谢1!
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示