Cómo puedo enfocar un tag <a name="Anchor1" id="Anchor1" runat="server"></a>
desde código del servidor de un botón? Claro, que si el objeto a enfocar
fuera una grilla o textbox funcionaria con MiObjeto.Focus(), pero no funciona
con un Label. O la pregunta más genera, es cómo puedo enfocar una parte
especifica de una ASPX desde código del servidor ?
Gracias.
Desde servidor puedes hacer un response redirect sobre su misma pagina y
como parametro el tag especificado: #Anchor1
Con respecto a los demas elementos HTML, no entiendo como sería en HTML para
lograr esto. Si se hace uso de JavaScript, puedes escribir este javascript
en el cliente desde el servidor y cuando se ejecute, se apuntará al
elemento.
Saludos.
--
Ing. Matías Iacono
Microsoft MVP ASP.net
Orador Regional Ineta Latam
http://www.preguntaalexperto.net
http://mvpfiles.spaces.live.com
"devhi0000" <devh...@discussions.microsoft.com> escribió en el mensaje de
noticias news:7C5A4526-3B05-4486...@microsoft.com...
Antes que nada voya tratar de explicar porque el control Label no hace
un FOCO ya que si puede si tiene un ID del lado del cliente
TEMA1 :FOCO EN UN LABEL no FUNCIONA... PORQUE?
Cuando escribes asi:
Label1.Focus()
en el cliente se escribira automaticamente este script:
<script type="text/javascript">
//<![CDATA[
WebForm_AutoFocus('Label1');
//]]>
</script>
Es una funcion que trae ASP.NEt y que la tenemos disponible en la
pagina, pero dentro de WebForm_AutoFocus se llama a la funcion
WebForm_IsFocusableTag para verificar el tag, en el caso del LAbel el
TAG HTML que se renderiza es el SPAN asi que como veras en la
siguiente funcion no es un FocuseableTag :)
function WebForm_IsFocusableTag(tagName) {
return (tagName == "input" ||
tagName == "textarea" ||
tagName == "select" ||
tagName == "button" ||
tagName == "a");
}
Pero bueno esto sabemos que si tiene un ID del lado del cliente en tu
pagina tienes
<span id="Label1">Label</span>
Entonces pudes realiza un ANCHOR
http://www.tuempresa.com/pagina.aspx?#Label1
realizara FOCO en el label, esto ya es por naturaleza del los
navegadores :) enviandole al foco a realizar el foco mediante el
nombre
Esto es para que tengas en cuenta a la hora de utilizar
SetFocus(control) o el metodo Focus de los controles de la pagina
TEMA 2: y como lo resolvemos?
No te tiens qque quedar con lo que brinda .NET si no hace lo que
nececistas puedes realizar el foco con algun script que encuentres o
qque tengas utilizando en proyectos. Alli deberias escribir
TEMA 3 : como realiza este foco...?
Si tienes un marcador/ancla de esta forma
<a id="ancla90" name="ancla90" />
En HTML deberia realizar algo asi
<a href="#ancla90">Ir al punto 90</a>
en los botones ASP.NET 2.0 tienes un propiedad que se llama
PostBackUrl donde tendrias que colocar de identica forma
<asp:Button ID="btnIrA" runat="server" Text="Ejemplo"
PostBackUrl="#ancla90" />
Enlaces que te pueden servir:
---------------------------------------------------
Button.PostBackUrl Property
Gets or sets the URL of the page to post to from the current page when
the Button control is clicked.
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.button.postbackurl.aspx
HtmlAnchor (Clase)
Permite el acceso mediante programación al elemento HTML <a> del
servidor.
http://msdn2.microsoft.com/es-es/library/system.web.ui.htmlcontrols.htmlanchor(VS.80).aspx
Sintaxis declarativa del control de servidor HtmlAnchor
http://msdn2.microsoft.com/es-es/library/8ff86hxd(VS.80).aspx
Espero que te sirva de ayuda o guia
______________________
Jose A. Fernandez
blog: http://geeks.ms/blogs/fernandezja
On 10 oct, 16:46, devhi0000 <devhi0...@discussions.microsoft.com>
wrote: