c# asp.net gridview linkbutton

c# - cómo crear un enlace en gridview en asp.net



linkbutton (4)

Agregue esto a su definición de Columns en el marcado para su vista de cuadrícula:

<asp:TemplateField HeaderText="Hyperlink"> <ItemTemplate> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl=''<%# Eval("CODE", @"http://localhost/Test.aspx?code={0}") %>'' Text=''link to code''> </asp:HyperLink> </ItemTemplate> </asp:TemplateField>

Estoy tratando de crear una página web que tenga una vista de cuadrícula. Se supone que este gridview tiene un enlace como a continuación

http://localhost/Test.aspx?code=123

cuando el usuario hace clic en uno de los enlaces de las filas en la vista de cuadrícula, se abrirá una página en blanco y se mostrarán algunos resultados.

aquí es cómo puedo vincular los datos a la vista de cuadrícula, pero no sé cómo configurar el enlace

protected void Page_Load(object sender, EventArgs e) { string firma_no = logoFrmNr.ToString().PadLeft(3, ''0''); string active_period = logoFrmPeriod.PadLeft(2, ''0''); SqlConnection conn = new SqlConnection(conStr); string selectSql = @"SELECT LOGICALREF, CODE , DEFINITION_ , FROM LG_CLFLINE"; SqlCommand cmd = new SqlCommand(selectSql, conn); DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); GridView1.DataSource = dt; GridView1.DataBind(); conn.Close(); }

aquí está el margen de ganancia

<asp:GridView ID="GridView1" runat="server" EnableModelValidation="True"> </asp:GridView>

¿Cómo puedo hacer un enlace fuera de la columna CÓDIGO?



Hay un truco para esto. Hyperlinkcolumn no funcionará, porque no puede formatear el enlace. Desea utilizar un campo delimitado y formatear el texto. Al igual que

<asp:GridView ID="GridView1" runat="server" EnableModelValidation="True"> <Columns> <asp:BoundField DataField="Code" HtmlEncode="False" DataFormatString="<a target=''_blank'' href=''Test.aspx?code={0}''>Link Text Goes here</a>" /> </Columns> </asp:GridView>

Alternativamente, puede usar un campo de plantilla si necesita designar editar e insertar plantillas.


para mí sería algo así como

<asp:DataGrid id="MyDataGrid" GridLines="Both" AutoGenerateColumns="false" runat="server"> <HeaderStyle BackColor="#aaaadd"/> <Columns> <asp:HyperLinkColumn HeaderText="Select an Item" DataNavigateUrlField="code" DataNavigateUrlFormatString="http://localhost/Test.aspx?code={0}" Target="_blank"/> </Columns> </asp:DataGrid>