2011-08-25 22 views
19

ASPX sayfasında aspx sayfasında bir HTML düğmesi bulunan bir uygulama oluşturuyorum.html düğmesi denetiminden sunucu tarafı olay çağrısı

<input type="submit" id="btnSubmit" runat="server" 
    style="background-image:url(App_Themes/default/Images/quiz_class/btn_submit.jpg); 
    width:80px; height:29px;" onserverclick="btnSubmit_ServerClick" /> 

Ama o zaman aspx.cs sayfada btnSubmit_ServerClick olayı aramayacağım butonuna tıkladığınızda.

Asp kontrol düğmesini kullanmak istemiyorum.

yardım edin ..

+0

Sooo ... Bu 3 yıl geçti sonunda bu kullanırlar. Bunu hiç anladın mı? Bir cevabı kabul et! (İlk önce oluşturmanız gerekiyorsa bile) – Cullub

cevap

0

bu öğretici takip edin: http://decoding.wordpress.com/2008/11/14/aspnet-how-to-call-a-server-side-method-from-client-side-javascript/

Bir dipnot düşmek gerekirse: ASP.NET bir istemci tarafı, istediğiniz postback gerçekleştirmek için kendi fonksiyonlarından çağırabilir javascript fonksiyonu oluşturur.

- geri gönderme olayı kaçırma ilgili daha fazla bilgi:

2

Bunu gerçekleştirmek için en kolay yolu RaisePostBackEvent yöntemi geçersiz etmektir.

raisePostBack = function(){ 
    __doPostBack("<%=btnRaisePostBack.ClientID%>", ""); 
} 

Ve kodunuzda:

<input type="button" ID="btnRaisePostBack" runat="server" onclick="raisePostBack();" ... /> 

Ve JavaScript'inizin

Eğer runat="server" belirterek bir sunucu tarafı kontrolüne girdi düğmesine dönüştürme Tamam varsa ve

protected override void RaisePostBackEvent(IPostBackEventHandler source, string eventArgument) 
{ 
    //call the RaisePostBack event 
    base.RaisePostBackEvent(source, eventArgument); 

    if (source == btnRaisePostBack) 
    { 
     //do some logic 
    } 
} 
+0

Bu kodu denedim, bir geri bildirim tetiklenir ancak "korumalı geçersiz kılma geçersiz RaisePostBackEvent" işlevi yürütülmez. Bunu nasıl çözebilirim? – Vijayaraghavan

32

asp.net kullanıyorsunuz, bir seçenek HtmlButton.OnServerClick özelliğini kullanıyor olabilir.

<input id="foo "runat="server" type="button" onserverclick="foo_OnClick" /> 

Bu çalışması gerekir ve sunucu tarafı kod foo_OnClick diyoruz. Ayrıca, yukarıda bağlı Microsoft belgelerine dayanarak, HTML 4.0 etiketini de kullanabileceğinizi unutmayın. Size: (tablo görünümü, vb yani) vb runat, sınıf, unvan,

bu element, bir veri bağlı denetim dahilse

: Sizin aspx sayfasında

+0

kesinlikle cevabı benimle çalışıyor –

+0

Nasıl foo_OnClick' ilan edersiniz? – Cullub

+0

Anladım: '' C# öğelerinizin burada olması gerekiyor. – Cullub

4

olağan şüpheliler HTML Düğme öğesini tanımlamak CommandName ve olasılıkla CommandArgument özelliklerini nitelik olarak kullanmak isteyebilir. Düğmenizin içeriğini ve kapanış etiketini ekleyin. eleman, ID_Click olay fonksiyonu olarak tanımlanabilir olacaktır işleyici çağırır sayfasında arkasında Kodu

<button id="cmdAction" 
    runat="server" onserverclick="cmdAction_Click()" 
    class="Button Styles" 
    title="Does something on the server" 
    <!-- for databound controls --> 
    CommandName="cmdname"> 
    CommandArgument="args..." 
    > 
    <!-- content --> 
    <span class="ui-icon ..."></span> 
    <span class="push">Click Me</span> 
</button> 

.

protected void cmdAction_Click(object sender, EventArgs e) 
{ 
: do something. 
} 

vb özel kontrollerini kullanarak gibi diğer çözümler vardır Ayrıca bu VS2K8 projeler üzerinde yaşayan kullanıyorum not.

Bu yardımcı olur. Zevk!

0

sadece düğmesinin click olayı

protected void btnAddButton_Click(object sender, EventArgs e) 
{ 
    ... save data routin 
    Response.Redirect(Request.Url.AbsoluteUri); 
} 
İlgili konular