Saya ingin melakukan Response.Redirect("MyPage.aspx")
tetapi membukanya di jendela browser baru. Saya telah melakukan ini sebelumnya tanpa menggunakan metode skrip register JavaScript. Saya hanya tidak ingat bagaimana?
c#
asp.net
response.redirect
hims056
sumber
sumber
OnClientClick="aspnetForm.target ='_blank';"
saya harus menggunakanOnClientClick="document.getElementById('Form').target ='_blank';"
Anda dapat menggunakan ini sebagai metode ekstensi
Dengan ini Anda mendapatkan penggantian yang bagus pada objek Respon yang sebenarnya
sumber
Karena Response.Redirect dimulai di server, Anda tidak dapat melakukannya menggunakan itu.
Jika Anda dapat menulis langsung ke aliran Respons, Anda dapat mencoba sesuatu seperti:
sumber
Susun url Anda melalui click event handler:
Kemudian:
sumber
Trik fixform memang rapi, tetapi:
Anda mungkin tidak memiliki akses ke kode apa yang dimuat di jendela baru.
Bahkan jika Anda melakukannya, Anda bergantung pada fakta bahwa itu selalu memuat, bebas dari kesalahan.
Dan Anda bergantung pada fakta bahwa pengguna tidak akan mengklik tombol lain sebelum halaman lain mendapat kesempatan untuk memuat dan menjalankan fixform.
Saya akan menyarankan melakukan ini sebagai gantinya:
Dan atur fixform pada halaman yang sama , terlihat seperti ini:
sumber
Anda juga dapat menggunakan kode di belakang seperti ini
sumber
window.open('page.aspx','_blank');
, tetap terbuka di jendela baru dengan bilah navigasi dinonaktifkan dan tombol navigasi tidak ada, bukan tab baru.Ini tidak mungkin dilakukan dengan Response.Redirect seperti yang terjadi di sisi server dan tidak dapat mengarahkan browser Anda untuk melakukan tindakan itu. Apa yang tersisa di jendela awal? Halaman kosong?
sumber
metode popup akan memberikan pertanyaan aman kepada pengunjung ..
inilah solusi sederhana saya: dan bekerja di mana-mana.
sumber
Sumber: http://dotnetchris.wordpress.com/2008/11/04/c-aspnet-responseredirect-open-into-new-window/
sumber
Jika Anda dapat menyusun ulang kode Anda sehingga Anda tidak perlu melakukan postback, maka Anda dapat menggunakan kode ini di acara PreRender tombol:
sumber
Anda juga dapat menggunakan kode berikut untuk membuka halaman baru di tab baru.
Dan panggil saja Response.Redirect ("yourPage.aspx"); di belakang acara tombol.
sumber
Saya selalu menggunakan kode ini ... Gunakan kode ini
sumber
Berikut versi jQuery berdasarkan jawaban oleh @takrl dan @tom di atas. Catatan: tidak ada formid yang di-hardcode (dinamai aspnetForm di atas) dan juga tidak menggunakan referensi form.target langsung yang mungkin dianggap bermasalah oleh Firefox:
Kemudian di file js anda direferensikan di halaman SAMA:
sumber
Saya menggunakan Hyperlink daripada LinkButton dan berfungsi dengan baik, ia memiliki properti Target sehingga memecahkan masalah saya. Ada solusi dengan Response.Write tetapi itu mengacaukan tata letak saya, dan yang dengan ScriptManager, di setiap penyegaran atau kembali membuka kembali jendela. Jadi begini cara saya menyelesaikannya:
sumber
Anda mungkin ingin menggunakan Page.RegisterStartupScript untuk memastikan bahwa javascript diaktifkan saat halaman dimuat.
sumber
Anda dapat membuka jendela baru dari kode asp.net di belakang menggunakan ajax seperti yang saya lakukan di sini http://alexandershapovalov.com/open-new-window-from-code-behind-in-aspnet-68/
sumber
Tidak ada contoh sebelumnya yang berhasil untuk saya, jadi saya memutuskan untuk memposting solusi saya. Dalam acara klik tombol, berikut adalah kode di belakangnya.
Saya harus mengubah kode response.redirect orang lain untuk membuka di browser baru.
sumber
Saya menggunakan pendekatan ini, tidak mengharuskan Anda melakukan apa pun pada popup (yang tidak saya akses karena saya mengarahkan ke file PDF). Ini juga menggunakan kelas.
Untuk menggunakan, tambahkan kelas "jendela baru" ke elemen apa pun. Anda tidak perlu menambahkan apapun ke tag badan. Fungsi ini menyiapkan jendela baru dan memperbaikinya di fungsi yang sama.
sumber
Saya melakukan ini dengan meletakkan target = "_ blank" di tombol tautan
lalu di pageload codebehind setel atribut href:
sumber
HTML
Javascript:
DAN codebehind:
sumber