ASP.NET - referencia a control desde función shared

 
Vista:

referencia a control desde función shared

Publicado por Eduardo Nicolas (15 intervenciones) el 27/03/2010 19:51:45
Gente estoy buscando por todos lados y no encuento mayor info, estoy necesitando saber como puedo llamar a un control desde una funcion shared:

en el code behind tengo la funcion

Public Shared Function seterodebusquedaadicional() As String
If rdblousado.Checked Then
Return "2"
ElseIf rdbcontiene.Checked Then
Return "3"
ElseIf rdbfraseexacta.Checked Then
Return "4"
Else
Return "1"
End If
End Function

donde los rdb son radiobuttons, pero el mismo indica el siguiente error

No se puede hacer referencia a un miembro de instancia de una clase desde un método compartido o un inicializador de método compartido sin una instancia explícita de la clase

Alguien sabe como puedo usar estos radiobutton dentro de la funcion shared ?

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
Imágen de perfil de roger

RE:referencia a control desde función shared

Publicado por roger (311 intervenciones) el 28/03/2010 17:30:47
y porque quieres que la funcion sea shared???, la estas poniendo en la misma pagina supongo, y en ese caso podrias hacer referencia a ella sin ningun problema desde la misma pagina aunque no sea shared. Si por el contrario la quieres llamar desde otro formulario, lo que dice el mensaje tiene sentido, pues al llamar la funcion sin que se haya creado una instancia de la clase (y por lo tanto sus controles) no se encontrarian instanciados los controles de la clase tampoco.

Saludos
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:referencia a control desde función shared

Publicado por Eduardo Nicolas (15 intervenciones) el 28/03/2010 17:42:35
La verdad el problema surge porque uso un control de autocompletar de ajaxtoolkit donde hago la siguiente funcion

<System.Web.Services.WebMethod()> _
<System.Web.Script.Services.ScriptMethod()> _
Public Shared Function GetSugsXXX(ByVal prefixText As String, ByVal count As Integer) As String()
Dim str As String
str = seterodebusquedaadicional()
Return New buscador.buscadorX().InformacionAutoComp(prefixText, count, str)
End Function

si le quito la propiedad shared deja de funcionar el autocompletar

pero necesito pasar el string como parametro que depende de como esten seteado los radio button, al queres usar los controles en cualquier funcion shared me larga esse error ynome permite usarlo. Por ellomi pregunta.

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
Imágen de perfil de roger

RE:referencia a control desde función shared

Publicado por roger (311 intervenciones) el 28/03/2010 19:24:25
como veras en esta pagina http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/AutoComplete/AutoComplete.aspx, para usar el autocompleteExtender no necesitas que el webmethod sea shared (o estatic en C#).
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:referencia a control desde función shared

Publicado por Eduardo Nicolas (15 intervenciones) el 28/03/2010 20:03:04
Si pero lo estoy programando en vb.net y todos los ejemplos que encontre en la web requiere que sea Shared.

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
Imágen de perfil de roger

RE:referencia a control desde función shared

Publicado por roger (311 intervenciones) el 28/03/2010 20:12:00
compañero, haz lo mismo pero sin shared, debe funcionar. sea C# o Vb la metodologia es la misma.
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
Imágen de perfil de roger

RE:referencia a control desde función shared

Publicado por roger (311 intervenciones) el 28/03/2010 20:16:01
http://geeks.ms/blogs/gperez/archive/2009/12/31/tutorial-autocomplete-extender-autocompletando-desde-la-base-de-datos.aspx
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:referencia a control desde función shared

Publicado por Eduardo Nicolas (15 intervenciones) el 28/03/2010 20:43:25
Esto ya lo probé, ademas probé sacarle el shared, en síntesis probé de todo, por ello es que busco la forma de usar los componentes radiobutton desde una función shared, porque la realidad es que entiendo que no puedo evitar ese hecho de que sea shared la función. Creo que estamos cambiando el tema, tratando de solucionar un problema desde otra óptica, ya que el problema es manejar controles desde la función shared. Si me preguntan ya probé de todo respecto al control ajax para que la función no sea shared, pero nunca funciona si no es shared, por lo que desestimo efectuar ese cambio.

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
Imágen de perfil de roger

RE:referencia a control desde función shared

Publicado por roger (311 intervenciones) el 28/03/2010 20:49:23
ya te expliqué en la primera respuesta porque la funcion que utiliza los radiobutton no puede ser shared, si quieres usar una funcion shared para hacer lo que necesitas, sabiendo que no tiene que ser asi y que aparte no se puede, nos comentas como te va.

Repito, una funcion shared no puede tener referencias a controles en asp.net. Los controles se crean cuando se instancia la pagina, y para llamar a una funcion shared no se necesita crear instancias de clase, entonces seria contradictorio.
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