我在gridview中添加了一个按钮控件,我想重定向 到按钮点击事件的另一个页面, 我还想访问gridview中所选行的值,并在按钮上的其他页面上显示该值 点击gridview内的事件,任何人都可以帮助我。
答案 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,例如LinkButton,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);
}