我有一个gridview。我有一个超链接字段,我想当我单击超链接字段时,将行值存储在会话中并将页面重定向到其他页面。我怎样才能做到这一点?
这是我的aspx标记:
<asp:GridView ID="GridView1" runat="server" Height="36px"
style="margin-left: 270px; margin-top: 92px" Width="232px" CellPadding="3"
BackColor="White" BorderColor="#CCCCCC" BorderStyle="None"
BorderWidth="1px" onrowcancelingedit="GridView1_RowCancelingEdit"
onrowediting="GridView1_RowEditing" onrowupdated="GridView1_RowUpdated"
onrowupdating="GridView1_RowUpdating" AutoGenerateColumns="False"
onrowdeleting="GridView1_RowDeleting">
<Columns>
<asp:TemplateField HeaderText="Table Name">
<EditItemTemplate>
<asp:TextBox ID="txtTBL" runat="server" Text='<%# Eval("Table_Name") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Table_Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField HeaderText="Operation" ShowEditButton="True"
ShowDeleteButton="True" />
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink Text="Select" ID="lnkSelect" runat="server" CommandName="Select" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="White" ForeColor="#000066" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<RowStyle ForeColor="#000066" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#007DBB" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#00547E" />
</asp:GridView>
这是我的代码背后:
public partial class DisplayTable : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
// Retrieve database gridview
gettable();
}
}
public void gettable()
{
// here is code
}
//here all code included regarding to edit,delete etc
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
string s = ((HyperLink)GridView1.SelectedRow.Cells[0].Controls[0]).Text;
Session["destype"] = s;
Page.Response.Redirect("home.aspx");
}
public override void VerifyRenderingInServerForm(Control control)
{
// base.VerifyRenderingInServerForm(control);
}
}
希望以下内容对您有用,不确定是否未经我的测试。
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow gr = ((sender as HyperLink).NamingContainer as GridViewRow);
Session["destype"] = gr.Cells[0].Text.Trim(); /*For first cell value of Row */
//Session["abc"] = gr.Cells[2].Text.Trim(); /*Repeat for other cell values of Row by increasing cell index */
Response.Redirect("~/home.aspx");
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句