ASP.Net doğrulama özeti sayfa üstüne atlamak için neden olur
Birkaç gerekli saha elemanları ile basit bir form doğrulama ve özet bir kontrol var. Formu gönderistemcidoğrulama formu sayfanın en üstüne atlamak için neden olur. Ben doğrulama özeti kaldırırsanız, sayfa hareket etmez.
Burada hızlı bir örnek (Satır sonları AF):
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<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" />
Bu bir geri - herhangi bir şans olmadan olmuyor, ama kıkırdıyor için gerekli alan doğrulama SetFocusOnError="true"
MaintainScrollPositionOnPostback="true"
ayar çalıştım. Bu sorun için bilinen bir çözüm var mı?
DÜZENLEME:
Js WebResource tarafından oluşturulan sorunu buldum.axd. Tek bir satır aşağı geliyor gibi görünüyor ValidationSummaryOnSubmit()
işlevi.
line 534: window.scrollTo(0,0);
Ya bu bypass kaldırmak için nasıl herhangi bir fikir?
EDİT2:
Etrafa şimdilik iş:
- tüm doğrulama denetimleri için
EnableClientScript="false"
(istemci doğrulama devre dışı) ayarlayın - Sayfa yönergesinde
MaintainScrollPositionOnPostback="true"
ayarlayın
Hala bir istemci tarafı çözüm için umut var
EDİT3:
Doğrulama komut dosyası tarafından çağrıldığında bir şey olmaması için sadece window.scrollTo()
işlevi geçersiz kılmak için çevrede daha iyi bir iş gibi görünüyor:
<script type="text/javascript">
window.scrollTo = function() { }
</script>
Herhangi bir sayfada üstte ekleme inceliğini istemci doğrulama bırakır, ama sayfa boyunca window.scrollTo()
yöntemi devre dışı bırakır
CEVAP
İki olası çalışma alternatif yollarını:
Geri sonrası konumunu düzeltmek için istemci doğrulama ve atlama devre dışı bırakın:
* set EnableClientScript="false" for all validation controls (disabling client validation)
* set MaintainScrollPositionOnPostback="true" in Page directive
Javascript scrollTo işlevini devre dışı bırakın:
<script type="text/javascript">
window.scrollTo = function() { }
</script>
fancybox2 / fancybox sayfanın en üstün...
Neden AuthorizeAttribute kimlik doğrul...
Neden C# birbirleri ile iki nesne türl...
Angularjs form içinde bir düğmesi sayf...
Neden aynı ASP.NET MVC eylem için aynı...