Saya mendapatkan kesalahan:
Tidak dapat mengevaluasi ekspresi karena kode dioptimalkan atau bingkai asli di atas tumpukan panggilan.
Saya telah dialihkan ke halaman baru di acara itemcommand repeater. Kesalahan terjadi pada baris:
string url = "~/Galleries/AlbumImageList.aspx?UId=" + this.UserId.ToString() + "&AlbumId=" + e.CommandArgument.ToString();
Response.Redirect(url);
Adakah yang bisa membantu saya? Apakah ada yang salah di sana? The _COMPlusExceptionCode
adalah - 532459699
.
Buat argumen kedua
Response
salah seperti yang ditunjukkan di bawah ini.sumber
Resolusi
Gejala
Sebab
Status
Properti
Sumber: PRB: ThreadAbortException Terjadi Jika Anda Menggunakan Response.End, Response.Redirect, atau Server.Transfer
sumber
Dalam bug yang saya selidiki ada Response.Redirect () dan dieksekusi di lokasi yang tidak terduga ( baca: lokasi yang tidak pantas - di dalam metode pengambil properti anggota ).
Jika Anda men-debug masalah dan mengalami pengecualian " Tidak dapat mengevaluasi ekspresi ... ":
Response.Redirect()
dan buat parameter kedua endResponse = false , atauIni frustasi karena akan muncul untuk mengeksekusi panggilan Redirect sebelum "langkah melalui" pada debugger telah mencapai lokasi itu.
sumber
Silakan periksa tautan ini untuk alasan di balik masalah ini dan solusi untuk kesalahan:
http://support.microsoft.com/kb/312629/EN-US/
Artikel Dukungan Microsoft:
PRB: ThreadAbortException Terjadi Jika Anda Menggunakan Response.End, Response.Redirect, atau Server.Transfer Cetak Cetak Email Email
sumber
Saya punya masalah yang sama juga, dan itu rumit. Bagi saya, itu karena saya menggunakan perpustakaan javascript Ext.Js. Jika Anda melakukan response.redirect dalam kode sisi server yang Anda akses dalam panggilan Ajax , ada masalah. Ext.js memiliki solusi dengan metode Ext.Redirect mereka.
sumber
gunakan kode ini untuk menyelesaikan masalah:
sumber
Anda Juga Bisa Menggunakan
Server.Execute
sumber
Hanya membungkus orang lain berlari ke masalah yang saya lakukan saya menggunakan Response.End () tombol pemicu async
di panel pembaruan. Saya beralih ke pos biasa kembali bukan yang terbaik tetapi berhasil.
Karena saya hanya mengarahkan ulang pada halaman ini adalah solusi yang layak.
sumber
Jika Anda menggunakan Panel Perbarui dan tombol tautan untuk mengunduh excel ada di dalam panel daripada menambahkan pemicu postback
dan dalam Kode di balik acara klik di dalam
sumber
Gunakan ini, bekerja untukku selalu.
Di sini, Response.Redirect (Request.RawUrl) cukup mengarahkan ke url dari konteks saat ini, sedangkan parameter kedua "false" menunjukkan baik endResponse atau tidak.
sumber
Masalah ini mungkin terjadi ketika Anda memiliki halaman silet di mvc dengan model yang memiliki beberapa aturan validasi. Ketika Anda memposting dari formulir dan Anda lupa untuk menampilkan kesalahan validasi pada beberapa bidang, maka pesan ini mungkin muncul. Spekulasi: ini bisa jadi jika metode yang Anda posting berbeda dan digunakan oleh sumber lain atau berada di tempat yang berbeda dari metode yang melayani permintaan awal.
Jadi karena berbeda, tidak dapat kembali ke halaman asli untuk menampilkan atau menangani kesalahan karena status eksekusi dan model tidak sama (sesuatu seperti itu).
Mungkin sedikit sulit ditemukan, tetapi kesalahan mudah dilakukan. Pastikan metode penerima Anda benar-benar memvalidasi semua cara yang mungkin untuk mengirimnya.
misalnya, bahkan jika Anda memiliki validasi sisi server yang sebenarnya membuat mustahil untuk menulis dalam bentuk string yang lebih besar dari maks yang diizinkan oleh validasi Anda, mungkin ada cara dan sumber lain yang memposting ke metode penerima.
sumber