ASP.NET - en 1 GridView un link que apunte a otra pagina a l

 
Vista:

en 1 GridView un link que apunte a otra pagina a l

Publicado por Marta (7 intervenciones) el 12/07/2007 13:06:44
hola:

quiero sacar en 1 GridView un link que apunte a otra pagina a la cual quiero pasarle parametros:

NavigateUrl = Editar.aspx
DataNavigateUrlFields = id,titulo

es decir quiero q vaya a:
Editar.aspx?id=valor1&titulo=valor2

¿hay alguna otra manera de hacerlo? si meto campos en DataNavigateUrlFields no sale nada en el GridView

muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:en 1 GridView un link que apunte a otra pagina

Publicado por @vm (196 intervenciones) el 17/07/2007 01:01:42
Porque no intentas usar un DataList y tu editas la elementos a mostrar a tu antojo: Ejemplo:

<asp:DataList ID="DataList1" DataKeyField="IdCampo"
DataSourceID="SqlDSource">
<ItemTemplate>

<asp:HyperLink ID="DireccionURLLabel" runat="server" NavigateUrl='<%# Eval("DireccionURL") %>' Text='<%# Eval("DireccionURL") %>'></asp:HyperLink>

</ItemTemplate>
</asp:DataList>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en 1 GridView un link que apunte a otra pagina

Publicado por Marta (7 intervenciones) el 18/07/2007 09:58:00
hola:

no puedo usar dataList porq no uso un SqlDSource, uso al cargar la pagina:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Dim cadena As String
Dim ds As New DataSet
Dim com = New Comun

cadena = "SELECT [IdNoticia] as Identificador,[titulo] AS Titulo FROM [noticias]"

Try
Dim adp As SqlDataAdapter = com.Conectar(cadena, Application("ConnectionDB"))
adp.Fill(ds)

If ds.Tables(0).Rows.Count > 0 Then
Me.GridView1.DataSource = ds
Me.GridView1.DataBind()

End If
Catch ex As Exception
End Try
End Sub

¿que puedo hacer?
mi gridview tiene los siguientes datos: dos columnas de tipo link:Editar y borrar, y dos columnas con el id de la noticia y el titulo de la misma:

Editar Borrar IdNoticia1 TituloNoticia1
Editar Borrar IdNoticia2 TituloNoticia2
Editar Borrar IdNoticia3 TituloNoticia3

al pinchar en Editar , quiero ir a Editar.aspx?IdNoticia=1 ,para poder sacar en una caja de texto el contenido de la noticia seleccionada y poder cambiarlo

y no se como conseguir pasar ese IdNoticia, o no he entendido bien el articulo

¿que pongo en DataNavigateUrlFormatString : EditarNoticia.aspx?idnoticia={0}?
mi NavigateUrl =EditarNoticia.aspx
¿donde indico que es idNoticia o que coja el id de la linea seleccionada?
¿que pongo en DataNavigateUrlFields ? pongo : idnoticia pero no funciona!

muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:en 1 GridView un link que apunte a otra pagina

Publicado por @vm (196 intervenciones) el 18/07/2007 18:11:12
El datalista puedes llenarlo igual, pero ya me quedo más claro lo que quieres, aquí te va una sugerencia, me dices si te funciona.

En los eventos de tu GridView genere el de RowCommand: este es un ejemplo de C# solo cambia las instrucciones a VB

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
//Nombre del comando invocado
if (e.CommandName == "Edit")
{
//Fila que invocó el comando
int intFila = Convert.ToInt32(e.CommandArgument.ToString());

//Obtener DataKey de la fila
string strId = GridView1.DataKeys[intFila].Value.ToString();

//Dirigire a la página editar
Response.Redirect("Editar.aspx?IdNoticia=" + strId);
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en 1 GridView un link que apunte a otra pagina

Publicado por Marta (7 intervenciones) el 01/08/2007 14:11:38
hola Agustin:

lo primero muchas gracias!!
he pasado el codigo a VB:

Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
'Nombre del comando invocado
If e.CommandName = "Editar" Then
'Fila que invocó el comando
Dim intFila As Integer = Convert.ToInt32(e.CommandArgument.ToString())

'Obtener DataKey de la fila
Dim strId As String = GridView1.DataKeys(intFila).Value.ToString()

'Dirigire a la página editar
Response.Redirect("Editar.aspx?IdNoticia=" + strId)
End If
End Sub

no me reconoce CommandName Editar y no entra en el if, es que la columna editar es de tipo:
<asp:HyperLinkField HeaderText="EDITAR" NavigateUrl="~/Editar.aspx" HeaderImageUrl="~/Images/Editar.gif" Text="Editar" AccessibleHeaderText="Editar"/>

por lo q al pulsarla, no va a reconocer el CommandName no?estoy empezando en .NET y tampoco lo tengo muy claro, la verdad

otra cosa: DataKeys(intFila) sabe si es ese campo clave primaria?
yo solo hago:
SELECT [IdNoticia] as Identificador,[titulo] AS Titulo FROM [noticias]

muchas gracias!!
:(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en 1 GridView un link que apunte a otra pagina

Publicado por Ismael (3 intervenciones) el 17/07/2007 12:30:55
Hola ,yo lo tengo hecho asi espero que te sirva esto de ayuda.

fichero .aspx
------------------

<asp:TemplateField HeaderText="OM ID">
<ItemTemplate>
<asp:HyperLink ID="lnkOMId" runat="server" CssClass="hyperlinkFormat11px">HyperLink</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>

fichero .vb
---------------

CType(row.FindControl("lnkOMId"), HyperLink).Text = Nombre del Hyperlink
CType(row.FindControl("lnkOMId"), HyperLink).NavigateUrl = URL que quieras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en 1 GridView un link que apunte a otra pagina

Publicado por Marta (7 intervenciones) el 18/07/2007 09:59:58
hola:

no entiendo muy bien el codigo!
mi gridview tiene los siguientes datos: dos columnas de tipo link:Editar y borrar, y dos columnas con el id de la noticia y el titulo de la misma:

Editar Borrar IdNoticia1 TituloNoticia1
Editar Borrar IdNoticia2 TituloNoticia2
Editar Borrar IdNoticia3 TituloNoticia3

al pinchar en Editar , quiero ir a Editar.aspx?IdNoticia=1 ,para poder sacar en una caja de texto el contenido de la noticia seleccionada y poder cambiarlo

y no se como conseguir pasar ese IdNoticia

¿que pongo en DataNavigateUrlFormatString : EditarNoticia.aspx?idnoticia={0}?
mi NavigateUrl =EditarNoticia.aspx
¿donde indico que es idNoticia o que coja el id de la linea seleccionada?
¿que pongo en DataNavigateUrlFields ? pongo : idnoticia pero no funciona!

muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en 1 GridView un link que apunte a otra pagina

Publicado por Ismael (3 intervenciones) el 19/07/2007 14:19:58
Vale ,te pongo mas o menos el código segun lo haria yo

Primero recorreria el GridView para ver que Editar es el que has pulsado y despues redireccionaria a esa página con el valor que quieres.

Protected Sub LinkEditar_Click(ByVal sender As Object, ByVal e As System.EventArgs)

For Each row As GridViewRow In NombreGrid.Rows

If row.FindControl(NombreColumnaEditar).Equals(sender) = True Then

Response.Redirect("Editar.aspx?IdNoticia=" + campoIdNoticia, True)

End If
Next

end sub


Yo creo que esto te funcionaria,si tienes algun problema y no te funciona agregame al messenger y lo vemos al momento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en 1 GridView un link que apunte a otra pagina

Publicado por Marta (7 intervenciones) el 01/08/2007 14:25:29
Hola Ismael:

no entiendo bien, mi GridView es:
<asp:GridView ID="GridView1" runat="server" PageSize="5" >
<Columns>
<asp:HyperLinkField HeaderText="EDITAR" NavigateUrl="~/Editar.aspx" HeaderImageUrl="~/Images/Editar.gif" Text="Editar" AccessibleHeaderText="Editar"/>
<asp:HyperLinkField HeaderText="BORRAR" NavigateUrl="~/Listado.aspx" HeaderImageUrl="~/Images/Borrar.gif" Text="Borrar" />
</Columns>
<PagerSettings Mode="NextPreviousFirstLast" />
</asp:GridView>

no se como crear el objeto onclick del link dentro de un GridView ,¿ como creo el Sub LinkEditar_Click?

si hago doble click sobre el gridview me lleva a : Protected Sub GridView1_SelectedIndexChanged

pero no logro crear un evento para el link editar, no se si me explico bien! en mi pagina listado.aspx q es donde esta el gridview , si voy al codigo VB no hay ningun evento click del link

muchas gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en 1 GridView un link que apunte a otra pagina

Publicado por Marta (7 intervenciones) el 02/08/2007 13:44:52
Muchas gracias tanto a Agustin como Ismael:

ya lo he solucionado usando un repeater:
<asp:Repeater ID="Repeater1" runat="server" >
.....
<ItemTemplate>
<tr>
<td> <%#DataBinder.Eval(Container.DataItem, "Identificador")%> </td>
<td> <%#DataBinder.Eval(Container.DataItem, "titulo")%> </td>
<td> <a href="Editar.aspx?ID=<%#DataBinder.Eval(Container.DataItem, "Identificador")%>">Editar</a></td>
</tr>

Gracias por la ayuda!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en 1 GridView un link que apunte a otra pagina

Publicado por lala_mtts (15 intervenciones) el 21/11/2007 16:00:27
yo utilizo

<asp:HyperLinkField DataNavigateUrlFields="pac_nhcl, MED_NOMBRE" DataNavigateUrlFormatString="../level/Default.aspx?pac_nhcl={0} & med_nombre={1}" Target="_blank" Text="Seleccionar" > <ControlStyle CssClass="Peq_verde" />
</asp:HyperLinkField>

y te llama a la pagina, con los datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en 1 GridView un link que apunte a otra pagina

Publicado por claudia (1 intervención) el 23/07/2012 22:56:22
hola yo estoy haciendo una aplicacion web pero no entiendo tu codigo me puedes explicar cuales son los parametros en donde tu colocas "pac_nhcl, MED_NOMBRE"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en 1 GridView un link que apunte a otra pagina

Publicado por angel (1 intervención) el 13/11/2012 22:03:17
Estimado : amigo

Haber si me envias pues esa rutina para hacer eso, toda vez que me la he paso todo el dia haciendo este vendito link y no me ha salido.

seleciono un registro y quiero q me cargue otra pagina en la cual le paso parametros y muestro los detalles al procesar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar