20 AĞUSTOS 2009, PERŞEMBE
ASP.NET geri gönderme ile JavaScript
jQuery
sürüklenebilir div
birkaç küçük ler var. div
ler bu _doPostBack()
JavaScript işlevini kullanmak UpdatePanel
ve bir dragstop yerleştirilir. nerede ben sayfaları formundan gerekli bilgileri ayıklamak.
Benim sorunum bu işlev tüm sayfayı okuduğumda yeniden yüklenir ama ben sadece update panel yeniden yüklenecek.
CEVAP
6 Ocak 2012, Cuma
Burada komple bir çözüm
ASP.NET sayfanın tüm form etiketi
<form id="form1" runat="server">
<asp:LinkButton ID="LinkButton1" runat="server" /> <%-- included to force __doPostBack javascript function to be rendered --%>
<input type="button" id="Button45" name="Button45" onclick="javascript:__doPostBack('ButtonA','')" value="clicking this will run ButtonA.Click Event Handler" /><br /><br />
<input type="button" id="Button46" name="Button46" onclick="javascript:__doPostBack('ButtonB','')" value="clicking this will run ButtonB.Click Event Handler" /><br /><br />
<asp:Button runat="server" ID="ButtonA" ClientIDMode="Static" Text="ButtonA" /><br /><br />
<asp:Button runat="server" ID="ButtonB" ClientIDMode="Static" Text="ButtonB" />
</form>
Sayfanın arka plan Kod Sınıfı tüm İçeriği
Private Sub ButtonA_Click(sender As Object, e As System.EventArgs) Handles ButtonA.Click
Response.Write("You ran the ButtonA click event")
End Sub
Private Sub ButtonB_Click(sender As Object, e As System.EventArgs) Handles ButtonB.Click
Response.Write("You ran the ButtonB click event")
End Sub
- Bu bağlantı düğmesi __doPostBack javascript işlevi istemci için işlenir sağlamak için dahildir. Sadece Düğme kontrolleri olan __doPostBack bu fonksiyon, işlenecek neden olmaz. Bu işlev, en ASP.NET sayfa üzerindeki kontrollerin çeşitli olması sayesinde işlenecek, boş bağlantı düğmesi genellikle gerekli değildir
Neler oluyor?
İki giriş kontrolleri istemci görüntülenir:
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
__EVENTTARGET
__doPostBack 1 argüman alır__EVENTARGUMENT
__doPostBack 2 argüman alır
__DoPostBack fonksiyonu böyle: belge
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
- Gördüğünüz gibi, gizli girişler için değerleri atar.
Formu gönderdiğinde / geri gönderme oluşur:
- Eğer Sunucu Kontrolü çalıştırmak istediğiniz Düğmeye (
javascript:__doPostBack('ButtonB','')
o zaman bu düğme için düğme tıklatma işleyicisi çalışır. Uniqueıd verdiyse
Ne olursa tıklatın işleyicisi çalıştırmak istemiyorum bile, ama onun yerine başka bir şey yapmak ister misin?
Ne istersen __doPostBack
bağımsız değişken olarak iletebilirsiniz
O zaman gizli bir giriş değerleri analiz etmek ve belirli bir kod çalıştırmak buna göre:
If Request.Form("__EVENTTARGET") = "DoSomethingElse" Then
Response.Write("Do Something else")
End If
Diğer Notlar
- Eğer çalıştırmak istiyorum denetimin KİMLİĞİ bilemiyorum eğer doğru değilse ne?
- Eğer kabul edilebilir
ClientIDMode="Static"
, sonra ise böyle bir şey yapabilirsiniz:__doPostBack('<%= myclientid.UniqueID %>', '')
. - Veya:
__doPostBack('<%= MYBUTTON.UniqueID %>','')
- Bu isterseniz javascript denetimi benzersiz kimliği enjekte edecek
- Eğer kabul edilebilir
Bunu Paylaş:
ASP.NET geri gönderme ile JavaScript...
jQuery UI ASP.NET düğme geri gönderme ...
JavaScript özel bir geri arama oluştur...
'geri gönderme İşlemi sırasında n...
Geçersiz geri gönderme veya geri arama...