Foros del Web » Programación para mayores de 30 ;) » .NET »

se puede encontrar un html control ?

Estas en el tema de se puede encontrar un html control ? en el foro de .NET en Foros del Web. si bien exsite este metodo para encontrar controles en datalist, datagrid, panels etc,, Código HTML: Dim titulo As string = CType(FindControl("titulo"), TextBox).Text como hacerle para ...
  #1 (permalink)  
Antiguo 06/10/2004, 13:06
Avatar de Fher  
Fecha de Ingreso: febrero-2003
Ubicación: En algun lugar de cancun
Mensajes: 384
Antigüedad: 21 años, 2 meses
Puntos: 0
se puede encontrar un html control ?

si bien exsite este metodo para encontrar controles en datalist, datagrid, panels etc,,

Código HTML:
Dim titulo As string = CType(FindControl("titulo"), TextBox).Text
como hacerle para encontrar un htmlcontrol claro dentro de un datalist

osea tengo un valor de campo con checkbox, pero al darle clic se activara y requiero encontrar mi htmlcontrol que es un input type="hidden" en un datalist pero no lo tama encuenta..

estoy tratando de hacer esto;
dim iditems as control=FindControl("iditems")

y claro mi htmlcontrol este en mi datalist

<datalist>
<asp:CheckBox id="activarchec" Checked='<%#funcion_bool(Container.DataItem("activ o"))%>' AutoPostBack="True" OnCheckedChanged="Check_Clicked" runat="server" />
<input id="iditems" type="hidden" value="<%#Container.DataItem("iditem")%>" runat="server"/>
</datalist>

ose al darle clik al checkbox me lleva mi campo escondido a una rutina

Sub Check_Clicked(sender As Object, e As EventArgs)
dim iditems as control=FindControl("iditems")
Dim var as integer =Convert.ToInt32(iditems.Value)
response.Write(var)
End Sub

pero no logro encontrar el htmlcontrol

alguna idea , si se puede hacer esto?? o tengo que meter un input en html y recogerlo con request.form

gracias
__________________
solo firma
  #2 (permalink)  
Antiguo 06/10/2004, 15:48
Avatar de Fher  
Fecha de Ingreso: febrero-2003
Ubicación: En algun lugar de cancun
Mensajes: 384
Antigüedad: 21 años, 2 meses
Puntos: 0
acaso estoy mal en preguntar esto ??

__________________
solo firma
  #3 (permalink)  
Antiguo 06/10/2004, 16:30
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
acaso estoy mal en preguntar esto
No estás mal friend.. lo que pasa es que por lo regular se trabaja con el evento Item Command de tu datalista para poder hacer algo como ésto:

Cita:
Private Sub myList_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles myList.ItemCommand
e.Item.FindControl("")
...
..
End Sub
Pero en éste caso como estas enlazando un método que no es precisamente un itemcommand si no un checkbox con su propio método tienes que hacer un casting del sender y despues ver su parent para encontrar el valor.

Ejemplo.

Cita:
...

<ItemTemplate>
<asp:CheckBox id="activarchec" OnCheckedChanged="Check_Clicked" AutoPostBack="True" runat="server" />
<input type=hidden id="iditems" runat=server value='<%# Container.DataItem("iditem") %>'>
...
...
y En tu codebehind.

Cita:
Protected Sub Check_Clicked(ByVal sender As Object, ByVal e As EventArgs)
Dim chk As CheckBox = CType(sender, CheckBox)
Dim htmlHidden As HtmlInputHidden = CType(chk.Parent.FindControl("iditems"), HtmlInputHidden)

Response.Write("Valor = " & htmlHidden.Value)
End Sub
Con ello ya obtienes el valor de tu campo hidden.

Espero sea lo que necesitas.

Salu2 friend..
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 07/10/2004, 05:29
Avatar de luiscl  
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 305
Antigüedad: 20 años
Puntos: 0
Yo para encontrar, por ejemplo, dentro de datagriditem, un control html hidden utilizco esto:

CType(dgi.FindControl("imgdisponibilidad"), System.Web.UI.HtmlControls.HtmlInputHidden)
__________________
Pide lo que quieras...y luego paga por ello
  #5 (permalink)  
Antiguo 07/10/2004, 08:23
Avatar de Fher  
Fecha de Ingreso: febrero-2003
Ubicación: En algun lugar de cancun
Mensajes: 384
Antigüedad: 21 años, 2 meses
Puntos: 0
lo voy a probar,,, la verdad ya me estaba trabando con esto hasta esteba tomando la iniciativa de abandonar este foro y para luego regresar como moderador y asi responder estas dudas que nos intrigan , pero bueno creo que no fue asi el buen rootk respondio

voy a probarlo
__________________
solo firma
  #6 (permalink)  
Antiguo 07/10/2004, 09:06
Avatar de Fher  
Fecha de Ingreso: febrero-2003
Ubicación: En algun lugar de cancun
Mensajes: 384
Antigüedad: 21 años, 2 meses
Puntos: 0
yo no sabia esto del parent ya lo estaba logrando hacer pero a la hora de escoger el valor con el checkbox me arrojaba todos los ids de la base de datos

gracias rootk
__________________
solo firma
  #7 (permalink)  
Antiguo 07/10/2004, 09:15
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
De nada friend.. , que bueno que te funcionó.
  #8 (permalink)  
Antiguo 07/10/2004, 10:07
Avatar de Fher  
Fecha de Ingreso: febrero-2003
Ubicación: En algun lugar de cancun
Mensajes: 384
Antigüedad: 21 años, 2 meses
Puntos: 0
ahora sobre este mismo problema para decirle que el checkbox biene en checked o un checked se hace de esta manera no??

Código HTML:
se volve a hacer el sernder pero en este caso le pongo otra variable 
	  Dim chke As CheckBox = CType(sender, CheckBox)
Y para encontrarlo se hace de esta manera no??

Código HTML:
if CType(chke.Parent.FindControl("activarchec"), System.Web.UI.WebControls.CheckBox).checked = false
response.write("hacer algo")
  end if

if CType(chke.Parent.FindControl("activarchec"), System.Web.UI.WebControls.CheckBox).checked = true
response.write("otracosa")
  end if

__________________
solo firma
  #9 (permalink)  
Antiguo 07/10/2004, 10:23
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Lo podrías hacer directo.. ya que en este caso el sender es el checkbox (activarchec) y no necesitas hacer un findcontrol..

Sería así:

Cita:
Dim chk As CheckBox = CType(sender, CheckBox)

If chk.Checked Then
Response.Write("checked")
Else
Response.Write("NoChecked")
End If
  #10 (permalink)  
Antiguo 07/10/2004, 10:31
Avatar de Fher  
Fecha de Ingreso: febrero-2003
Ubicación: En algun lugar de cancun
Mensajes: 384
Antigüedad: 21 años, 2 meses
Puntos: 0
si jalo
orale rootk que callo tienes, te la sabes de todas todas, mientras que yo apenas estoy comprendiendo esto del sender y parent tu ya te lo sabes de de ida y de regreso

ese callo que tienes se refleja luego luego,, oye nunca me has dicho cuantos años llevas programando en esto??

de todas maneras gracias

saludos
__________________
solo firma
  #11 (permalink)  
Antiguo 07/10/2004, 10:47
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
oye nunca me has dicho cuantos años llevas programando en esto??
Pues en Net llevo como 1año 1/2, es que ya venía de haber trabajado con otros lenguajes (c,asp,php,etc) y para cambiarte a otro solo es cosa de llevar la lógica para poderlo adaptar.

En fin.. lo importante es entender las cosas mas que ponerse a codificar.

Saludos friend y estamos en contacto
  #12 (permalink)  
Antiguo 08/10/2004, 17:31
Avatar de Fher  
Fecha de Ingreso: febrero-2003
Ubicación: En algun lugar de cancun
Mensajes: 384
Antigüedad: 21 años, 2 meses
Puntos: 0
otro problema friend

ahora tengo lo siguiente.. ok mando un id por una imagenboton el cual le pongo oncomand="seleccioar"
ok este lo recogo asi dentro de SUB()
Dim idt As integer = MyDataList.DataKeys(MyDataList.SelectedItem.ItemIn dex)

el cual me hace una consulta y de ahi tomo los datos de la base de datos en un dataset y los mando a un datalist de esta forma

Código HTML:
Dim MyCommand As New SqlDataAdapter("select * from garrafon_catalogo where iditem= '" & idt & "'" , oConns)

        Dim DS As New DataSet
        MyCommand.Fill(DS, "garrafon_catalogo")
        DAtaList2.DataSource = DS
        DAtaList2.DataBind()
y en la edatalist los muestro pero con texbox, checkbox, etc...

<DAtaList2>
<asp:TextBox id="titulo" Text='<%#Container.DataItem("titulo")%>' runat="server" Width="445px">
<asp:TextBox id="descrip" Text='<%#Container.DataItem("titulo")%>' runat="server" Width="445px">
Código HTML:
y aqui un  un imagebutonn
<asp:ImageButton id="edit" runat="server" ImageUrl="ima/garrafon/images/boton-cotinuar.gif" OnClick="edi_data"/>
</DAtaList2>

volvemos a lo mismo para recurperar los datos de los textbox y otros controles que estan dentro de un datalist como le hago para hacer esto su dentro de mi imagen boton me dice que tengo que especificar
sender As Object, e As System.Web.UI.ImageClickEventArgs)'. cuando en realidad tengo
Sub edi_data(Sender As Object, E As EventArgs)

y la otra es de lo mismo como recuperar los valores de los textbox que estan dentro de un datalist para poder asi guardarlos en una base de datos?? osea un form pero con datos de un datalis

estoy haciendo esto pero me marca error de objecto o instancia no encontrado

Sub edi_data(Sender As Object, E As EventArgs)
' Dim text As TextBox = CType(sender, TextBox)
dim texto as string = CType( text .Parent.FindControl("titulo_edit"), System.Web.UI.WebControls.TextBox).Text
response.Write(texto )
End Sub

si me entiendes no?
__________________
solo firma
  #13 (permalink)  
Antiguo 08/10/2004, 18:12
Avatar de Fher  
Fecha de Ingreso: febrero-2003
Ubicación: En algun lugar de cancun
Mensajes: 384
Antigüedad: 21 años, 2 meses
Puntos: 0
ok como que ya le voy agarrando la honda a mi datatalist
le puse onitemcommand la verdad el no saber, como se ocuapa instruccion me dio error

se lo puse a mi datalist asi
Código HTML:
<datalis2 OnItemCommand="edi_data">
y dentro de mi datalist puse este imagebutton
<asp:ImageButton id="edit_" runat="server" src="ima/garrafon/images/boton-cotinuar.gif" CommandName="Select" />
</datalis2 > 
y dentro de mi metodo colo que este
Código HTML:
Sub edi_data(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) 
dim tex as String = CType(e.Item.FindControl("titulo_edit"), TextBox).Text

response.Write(tex )
End Sub
pero me intrega todo esto de encontrar controles dentro de datalist, datagrid, panels y digo esto porque hay muchas cosas q se manejan dentro de estos controles y la parte fea viene cuando necesitas sacar la informacion o valores de esos controles otros que etan ahi adentro, osea un control dentro de otro contro

esta siempre ha sido mi dolor de cabeza porque da la casualidad que todo lo que lleve acabo en asp , normal fueron formularios dinamicos con asp y javascript y haber haslos q funcionen igual

chauu
__________________
solo firma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:18.