none
我在Gridview中,将一列设为ButtonField用以点击,如何获取我点击的那格的文字? RRS feed

  • 问题

  • 就是说,比方一列有四项,分别为一,二,三,四。现在我点击了“三”,怎么获取“三”这段字符?
    最好详细一点,我新手,学ASP.Net才三天......

    2009年12月29日 12:36

答案

  • 你好
    以下代码是一个简单的例子,首先可以把buttonfield转换成模板列编辑他的单击事件, girdview上显示id,title2个字段点击后面按钮显示输出该行的数据。

            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                DataKeyNames="id" DataSourceID="AccessDataSource1">
                <Columns>
                    <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" 
                        ReadOnly="True" SortExpression="id" />
                    <asp:BoundField DataField="title" HeaderText="title" SortExpression="title" />
                    <asp:BoundField DataField="content" HeaderText="content" 
                        SortExpression="content" />
                    <asp:TemplateField ShowHeader="False">
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton1" CommandArgument='<%# Eval("id") %>' runat="server" CausesValidation="false" 
                                CommandName="" onclick="LinkButton1_Click" Text="按钮"></asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
            <asp:AccessDataSource ID="AccessDataSource1" runat="server"  DataFile="~/App_Data/TempDB.mdb" SelectCommand="select * from content">
            </asp:AccessDataSource>
    
    
        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            //获取当前的行号
             int row = ((GridViewRow)((LinkButton)sender).NamingContainer).RowIndex;
            Response.Write(GridView1.Rows[row].Cells[0].Text);
            Response.Write(GridView1.Rows[row].Cells[1].Text);
        }

    啥叫乐观-得瑟的最高境界
    2009年12月29日 14:06