En iyi yanıtlayıcılar
C# tarafından javascript fonksiyonu postback yapmadan çalıştırmak

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
- Değiştirilmiş Tür Önay YALÇINERModerator 26 Eylül 2012 Çarşamba 10:47
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
- Yanıt Olarak Öneren Ali Rıza İnceoğlu 26 Eylül 2012 Çarşamba 10:55
- Yanıt Olarak İşaretleyen Passengers 26 Eylül 2012 Çarşamba 20:23
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.
-
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
- Düzenleyen Önay YALÇINERModerator 25 Eylül 2012 Salı 06:18
-
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
-
-
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 alfunction loginStatus(bool) { if(nedurumda=='Evet') { $('.userPopupLogin').hide();} else { alert("Yanlış şifre bla bla bla"); }
}
olarak deneyebilirsin
- Düzenleyen Adem Olguner 25 Eylül 2012 Salı 12:56
- Yanıt Olarak Öneren Ali Rıza İnceoğlu 26 Eylül 2012 Çarşamba 10:55
-
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
-
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
- Yanıt Olarak Öneren Ali Rıza İnceoğlu 26 Eylül 2012 Çarşamba 10:55
- Yanıt Olarak İşaretleyen Passengers 26 Eylül 2012 Çarşamba 20:23
-