none
C# tarafından javascript fonksiyonu postback yapmadan çalıştırmak RRS feed

  • Soru

  • merhaba login ekranım popup olarak js koduyla açıyorum ve kapatıyorum

    js tarafından login bilgilerini alıp C# tarafında callback içine gönderip ordanda bilgileri db de kontrol ediyorum

    sorun burda kontrol den sonra true yada false olarak

    açık olan popup ekranını kapatmam lazım yani popup kapatan fonksiyonu postback yapmadan kapanması lazım ,yada false durumunda script olarak uyarı ekranımı çıkarmam lazım 

    nasıl yapabilirim teşekkürler

    25 Eylül 2012 Salı 00:02

Yanıtlar

  • Codebehind deki bir method ile JavaScript methodunu çalıştırmak istiyorsunuz sanırım, o zaman bu method postback yaptığında bir start-up scripti gönderin;

    ClientScript.RegisterStartupScript(this.GetType(), "status", "loginStatus(true);" , true);



    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    26 Eylül 2012 Çarşamba 06:19
    Moderatör

Tüm Yanıtlar

  • Anladığım kadarıyla şöyle birşey yapmaya çalışıyorsunuz;

    Popup ile bir pencere açılıyor. Kullanıcı adı ve şifresi doğruysa popup kapanacak ve popup'u açtığı sayfada kişinin bilgileri sayfa yenilenmeden gözükecek. Eğer kullanıcı adı ve şifresi eşleşmiyorsa popup'da uyarı gösterecek. Eğer böyleyse şu kodlar işinize yarayacaktır: 

    function kontrol() { var donenVeri = false; //Geri dönen veri olayını yaptığını varsayıyorum. if(donenVeri) {

    var d = jQuery("#KullaniciAdiTextBoxID").Val(); window.opener.location = "javascript:PopUpAcilanSayfaFunction('" + d + "')"; window.close(); } else { alert("Kullanıcı adı veya şifre hatalı"); } }


    Yukarıdaki kodu popup sayfasına eklemeniz lazım. Popup sayfasının açıldığı sayfaya'da şu kodları eklemeniz gerekmektedir:

    PopUpAcilanSayfaFunction (DonenVeri) {
         alert(DonenVeri);
    }
    Yukarıdaki kod ile Kullanıcı adına ait texbox'a yazılan veriyi sayfanızda gösterebilirsiniz. Geliştirilmesi artık size kalmış. Eğer takıldığınız noktalar olursa sorun anlatalım.


    Just a .net developer.

    25 Eylül 2012 Salı 06:13
  • popup kapatan fonksiyon js, kontrolu yapan button ise asp:Button sanırım. kodları görmediğimizden tam hakim olamayız.

    buttonun postback yapmayıp sadece script çalıştırmasını istiyorsanız;

    <asp:Button ...... OnClientClick="foo();bar();return false;" />

    kullanmalısınız. foo ve bar fonksiyonlarını çalıştırır ve kesinlikle postback etmez. Başka örnek;

    <asp:Button ...... OnClientClick="return foo();" />

    burada da foo fonksiyonu true döndürüre postback yapar, false döndürürse yapmaz.


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC


    25 Eylül 2012 Salı 06:17
    Moderatör
  • teşekkürler ancak ben js tarafındaki kontrolden bahmetmedim kodla açıkliyim

    ekranda üye giriş basıldığında popup açılmakta

    buton click çağrılan fonksiyon

     $("#loginButton").click(function () {
    
            var userName = dxTxtBoxLoginUserName.GetText();
            var password = dxTxtBoxLoginPassword.GetText();
            var userLogin = '|ActionUser;LoginCheck|userName;' + userName + '|password;' + password;
    
            userPopup.PerformCallback(userLogin);
        });

    CALLBACK


     protected void userPopup_Callback(object source, DevExpress.Web.ASPxCallback.CallbackEventArgs e)

    "callback içinde js tarafından gelen veriyi karşılama kodlarını yazmadım konuyla ilgisi olmadığından "

    string userName = dxTxtBoxLoginUserName.Text; var password = dxTxtBoxLoginPassword.Text; bool status = advertisment.GetMemberCheck(userName,Password); BU KISIMDA JS TARAFINDAKİ LOGINSTATUS fonksiyonunu çalıştırmam lazım

    true ise popup sayfam gizlendikten sonra,ana sayfada sağda

    kişinin adı bir labelde çıkacak

    bu ikisini nasıl yapabilirim "postback olmadan"

    BUDA popup kapatan fonksiyonum

    function loginStatus(bool) { if(bool) { $('.userPopupLogin').hide(); } else { alert("Yanlış şifre bla bla bla"); }

    }




    • Düzenleyen Passengers 25 Eylül 2012 Salı 10:42
    25 Eylül 2012 Salı 10:26
  • Daha önce hiç kullanmadığım bir yöntem. Ben eğer böyle bir şey yapacaksam webservice kullanırım. O yüzden yardımcı olamayacağım. Kusuruma bakmayın.

    Just a .net developer.

    25 Eylül 2012 Salı 11:08
  • protected void userPopup_Callback(object source, DevExpress.Web.ASPxCallback.CallbackEventArgs e)

    "callback içinde js tarafından gelen veriyi karşılama kodlarını yazmadım konuyla ilgisi olmadığından "

    string userName = dxTxtBoxLoginUserName.Text; var password = dxTxtBoxLoginPassword.Text; bool status = advertisment.GetMemberCheck(userName,Password);

    burada bool status olarak tuttuğun değerini ;
    global alanda public string sondurum=null; (baslangıc için null verdim)

    bool status = advertisment.GetMemberCheck(userName,Password);

    if(status==True){sondurum="evet";}
    else{sondurum="hayır";}
    olarak tanımla dönen değeri
    html tarafında button clikc javascriptinin için de
    var nedurumda='<%= sondurum%>';olarak al

    function loginStatus(bool) { if(nedurumda=='Evet') { $('.userPopupLogin').hide();} else { alert("Yanlış şifre bla bla bla"); }

    }


    olarak deneyebilirsin





    25 Eylül 2012 Salı 12:53
  • sorun değil halit kardeşim teşekkürler

    adem arkadaşım dediğini elimdeki iş bitince deniycem ,

    peki post back yapmadan hemen anında çalışcakmı ?

    birde

    ClientScript.RegisterClientScript yada ona benzer bir şey duymuştum onlada olabilirmi ? 

    teşekkürler
    • Düzenleyen Passengers 25 Eylül 2012 Salı 13:26
    25 Eylül 2012 Salı 13:25
  • Codebehind deki bir method ile JavaScript methodunu çalıştırmak istiyorsunuz sanırım, o zaman bu method postback yaptığında bir start-up scripti gönderin;

    ClientScript.RegisterStartupScript(this.GetType(), "status", "loginStatus(true);" , true);



    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    26 Eylül 2012 Çarşamba 06:19
    Moderatör
  • önay bey teşekkürler ve diğer arkadaşlarada
    26 Eylül 2012 Çarşamba 20:23