Tengo un formulario simple con algunos validadores de campo requeridos y un control de resumen de validación. Cuando envío el formulario, la validación del cliente hará que el formulario salte a la parte superior de la página. Si elimino el resumen de validación, la página no se mueve.Resumen de validación de ASP.Net hace que la página salte al principio
Aquí está un ejemplo rápido:
<asp:TextBox ID="test" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="testrequired" runat="server" ControlToValidate="test">*</asp:RequiredFieldValidator>
<asp:ValidationSummary ID="summary" runat="server" />
<asp:Button ID="submit" runat="server" Text="submit" />
He tratado de establecer SetFocusOnError="true"
en el validador de campo requerido y MaintainScrollPositionOnPostback="true"
por diversión - a pesar de que esto no es una devolución de datos - sin ninguna suerte. ¿Hay una solución conocida para este problema?
EDIT:
he encontrado el problema en el js generados por WebResource.axd. Parece que se reduce a una sola línea en la función ValidationSummaryOnSubmit()
.
line 534: window.scrollTo(0,0);
¿Alguna idea sobre cómo eliminar o omitir esto?
Edit2:
trabajo rápido alrededor por el momento:
- establece
EnableClientScript="false"
para todos los controles de validación (deshabilitar la validación del cliente) - conjunto
MaintainScrollPositionOnPostback="true"
en la directiva Página
Todavía esperando una solución del lado del cliente ...
Edit3:
Parece una mejor solución es simplemente reemplazar la función window.scrollTo()
de modo que no hace nada cuando se le llama por el script de validación:
<script type="text/javascript">
window.scrollTo = function() { }
</script>
Adición de lo anterior en cualquier lugar de la la página deja intacta la validación del cliente, pero deshabilita el método window.scrollTo()
en toda la página
No estoy familiarizado con esto, pero ¿agrega un '#' al final de su URL? A veces, esto hará que la página salte a la cima. –
@cory, no html genera una entrada de botón de envío no un enlace de ancla – Adam
Para edit3: Esto no ayuda cuando tiene un resumen de validación en la parte superior de la página y uno en la parte inferior. El superior nunca se enfoca. –