Javascript içerisinden Asp.Net metodu nasıl çağırılır?

alattin (17127) 11 yıl önce sordu

Asp.Net Web form uygulamasında sunucu taraflı Asp.Net metodu Javascript içerisinden nasıl çalıştırılır?

Javascript içerisinden herhangi bir library kullanmadan sunucu taraflı kod nasıl çalıştırılır?

Toplam 1 cevap


alattin (17127) 11 yıl önce cevapladı

Ajax veya başka bir kütüphane kullanmak istemiyorsanız, biraz hile kullanarak Javascript ile sunucu taraflı bir metodu tetikleyebilirsiniz.

  1. Asp.Net Web Form Code Behind tarafında class'ınıza IPostBackEventHandler arayüzünü uygulayın.
    public partial class Default : System.Web.UI.Page, IPostBackEventHandler{}
    
    
  2. Web form class'ına şu metodu ekleyin
    public void RaisePostBackEvent(string eventArgument) { }
  3. Javascript içerisine, sunucu taraflı kodu çalıştırmak istediğiniz metod, aşağıdaki kodu ekleyin 
    var pageId = '<%=  Page.ClientID %>';
    __doPostBack(pageId, argumentString);

    __doPostBack (başında iki tane alt çizgi var).

​C# veya Vb.Net sunucu taraflı metodu Javascript ile çalıştırmak için ikinci yöntem:

  1. Asp.Net Web form sayfanıza sunucu taraflı gizlenmiş bir buton kontrolü ilave edin
    <div style="display: none;">
       <asp:Button runat="server" ... OnClick="ButtonClickHandlerMethod" />
    </div>
  2. Javascript tarafına şu kodu ekleyin:
    var button = document.getElementByID(/* butonun ClientID'si */);
    
    button.click();

    her iki yöntemle de Javascript içerisinden sunucu taraflı bir metodu, Asp.Net Web Formu içerisinde bulunan, çalıştırmak mümkündür.