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?
Debería poder utilizar HyperLinkColumn en su marcado.
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>