Site için yaptığım bir uygulama karşılaştığım bu hatanın çözümünü yazacağım. Hata çözümünü yazmadan önce hatanın neden olduğunu anlamaya çalışalım. Hata olası bir post-back işlemi gerçekleştiğinde ortaya çıkmaktadır.
Kayıt silme işlemi için HaberSil adında bir sayfa oluşturdum. Sayfa yüklendiğinde silinecek haberler bir tablo içinde listeleniyordu. Her kayıt için kaydın yanına bir tane de sil butonu eklemiştim.
Sayfa ilk yüklendiğinde sorunsuz bir şeklide kayıtları göstermesine rağmen, sil butonuna tıkladığımda pages enableeventvalidation= true ile başlayan hata mesajını verdi. Hatayı biraz araştırdığımda sayfanın post-back işlemini gerçekleştirdiği için verdiğini öğrendim. Hatayı IsPostBack ifadesi ile düzeltmeyi denedim. Fakat sayfa hem ilk yüklendiğinde tüm kaydı getirecek, hemde silme işleminden sonra tüm kaydı getireceği için kodlarım uzayacaktır.
1.Yöntem Sayfanın başına EnableEventValidation=”false” yazmayı tercih ettim.
2.Yönem Eğer birden fazla sayfada aynı şekilde kullanmak istiyorsanız. web.config içine yazmanız gerekecektir.
<pages enableEventValidation=”false”/>
Hata mesajı Tam olarak şu şekilde
Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation=”true”/> in configuration or <%@ Page EnableEventValidation=”true” %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.