在gridview中按钮的click事件中编写代码

时间:2011-04-16 12:04:53

标签: asp.net

我在gridview中添加了一个按钮控件,我想重定向 到按钮点击事件的另一个页面, 我还想访问gridview中所选行的值,并在按钮上的其他页面上显示该值 点击gridview内的事件,任何人都可以帮助我。

5 个答案:

答案 0 :(得分:1)

这应该会有所帮助:http://msdn.microsoft.com/en-us/library/bb907626.aspx

用于访问RowCommand事件中的值,首先找到你的行(按索引):

int index = Convert.ToInt32(e.CommandArgument);

GridViewRow row = MyGridView.Rows[index];

然后控制其中包含您需要的值:

Label MyLabel= (Label)row.FindControl(MyLabel);

之后,您需要做的就是转移到您的页面并使用它从控件发送值(使用查询字符串执行):

Server.Transfer("MyPage.aspx?value="+MyLabel.Text)

在这里,您可以阅读有关gridview RowCommand事件的更多信息:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowcommand.aspx

答案 1 :(得分:1)

您需要添加一个ButtonField或一个带有按钮的TemplateField,然后您可以将您的代码添加到RowCommand并使用e.CommandName和e.CommandArgument

要重定向,您可以使用Response.Redirect(地址)

要查看它取决于您希望在程序中执行此操作的值。如果在数据绑定期间您可以使用dataitem(“列”)。在数据绑定之外,您可以浏览所需行的Gridview.Rows集合,然后查看row.Cells(columnNumber).Text以查看值。

答案 2 :(得分:0)

我遇到过像你这样的问题。答案就在这里。

How to limit label string length in GridView with Read More link?

答案 3 :(得分:0)

我们在gridview中有一个名为gridview rowcommand事件的事件,您可以使用按钮编写重定向到另一个页面的代码。首先,您必须在名为commandargument的按钮属性中绑定要传递的值。

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    Response.Redirect("abc.aspx?id=" + e.CommandArgument);
    //here id means passing the value using querystring to another page.
}

答案 4 :(得分:0)

 <asp:GridView ID="GridView1" runat="server">
    <Columns>
        <asp:BoundField HeaderText="ID" DataField="ID" />
        <asp:BoundField HeaderText="Name" DataField="fullname" />
        <asp:TemplateField HeaderText="Action">
            <ItemTemplate>
                <asp:Button runat="server" ID="btnDelete" Text="Delete" OnClick="btnDelete_Click" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

//这会聚焦按钮所在的当前行。您可以执行服务器控件的所有事件         //而不是Button,例如LinkBut​​ton,Dropdownlist index更改......

 protected void btnDelete_Click(object sender, EventArgs e)
    {


        Button btn = (Button)sender;
        GridViewRow gvRow = (GridViewRow)btn.NamingContainer;

        string id = gvRow.Cells[0].Text;
        string name = gvRow.Cells[1].Text;
        //use these values in query string or any logic you prefer for cross page posting
        Response.Redirect("your URL ?id=" + id + "&name=" + name);

    }