SORU
30 Mart 2009, PAZARTESİ


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
28 NİSAN 2009, Salı


İ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>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bunliu

    bunliu

    2 Mayıs 2007
  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009
  • USI Events

    USI Events

    6 AĞUSTOS 2013