Saya mencoba membuat postback asyncrhonous menggunakan ASP.NET __doPostBack()
, tapi saya tidak tahu bagaimana melakukannya. Saya ingin menggunakan JavaScript vanilla.
Sesuatu yang sederhana seperti klik tombol dapat menyebabkan __doPostBack()
acara menyala. Saya hanya mencoba mempelajari cara kerjanya.
c#
javascript
asp.net
postback
Michael Kerute
sumber
sumber
__doPostBack
sebenarnya tidak didukung. Jika halaman Anda tidak memiliki apa-apa di dalamnya yang memicu postback, asp.net mungkin menghilangkan mendefinisikan__doPostBack
fungsi. Pendekatan yang didukung adalah untuk memanggilClientScriptManager.GetPostBackEventReference
, yang mengembalikan string dalam bentuk__doPostBack(...)
dan memastikan bahwa__doPostBack
didefinisikan.Jawaban:
Anda dapat mencoba ini di formulir web Anda dengan tombol bernama btnSave misalnya:
Dan dalam kode Anda di belakang tambahkan sesuatu seperti ini untuk membaca nilai dan mengoperasikannya:
Cobalah itu dan beri tahu kami jika itu berhasil untuk Anda.
sumber
Ini juga merupakan cara yang baik untuk mendapatkan kontrol sisi server untuk diposkan kembali di dalam FancyBox dan / atau jQuery Dialog . Misalnya, di FancyBox-div:
JavaScript:
Page_Load sisi-server:
sumber
ClientIDMode="Static"
atributMyButton
, agar ASP tidak memotong ID tombol.Berikut tutorial singkat tentang cara
__doPostBack()
kerjanya.Sejujurnya, saya tidak banyak menggunakannya; setidaknya secara langsung. Banyak server kontrol, (misalnya,
Button
,LinkButton
,ImageButton
, bagian dariGridView
, dll) digunakan__doPostBack
sebagai mekanisme kembali pos mereka.sumber
Saya hanya ingin menambahkan sesuatu ke pos ini
asp:button
. Saya sudah mencoba clientId dan sepertinya tidak berfungsi untuk saya:Namun, mendapatkan UniqueId tampaknya mengirim kembali ke server, seperti di bawah ini:
Ini mungkin membantu orang lain di masa depan, karenanya memposting ini.
sumber
ClientID
, karena saya menggunakanClientIDMode = Static
. MenggunakanUniqueID
bekerja.Pertanyaan lama, tapi saya ingin menambahkan sesuatu: saat menelepon
doPostBack()
Anda dapat menggunakan metode penangan server untuk tindakan.Sebagai contoh:
Akan menyala, di server:
Saya tidak menemukan cara yang lebih baik untuk mendapatkan argumen, jadi saya masih menggunakan
Request["__EVENTARGUMENT"]
.sumber
Seperti yang dikatakan orang lain, Anda perlu memberikan UniqueID dari kontrol ke metode __doPostback ().
Di server, nilai formulir yang dikirimkan diidentifikasi oleh atribut nama bidang di halaman.
Alasan mengapa UniqueID bekerja adalah karena UniqueID dan nama sebenarnya adalah hal yang sama ketika kontrol server diberikan dalam HTML.
Inilah artikel yang menjelaskan apa itu UniqueID:
sumber
Beginilah cara saya melakukannya
sumber