Dalam artikel sebelumnya "Artikel yang menerangkan penggunaan Proksi proksi ES6 dalam JS (perkongsian kod) ", kami mengetahui tentang penggunaan Proksi proksi ES6 dalam JS. Artikel berikut akan membantu anda memahami halaman mvc4 custom 404 di asp.net Ia mempunyai nilai rujukan tertentu.
Sudah tentu terdapat banyak cara untuk mentakrifkan 404. Kaedah yang berbeza memberikan bentuk yang berbeza, dan pengalaman pengguna juga berbeza. Berikut menyediakan dua
1 Cari bahagian web.config
dalam <system.web>
dan dayakan 404
konfigurasi
<customErrors defaultRedirect="~/Error" mode="On" redirectMode="ResponseRedirect"> <error redirect="/Error" statusCode="404" /> </customErrors>
2 controllersError
(ini terpulang kepada anda), takrifkan action
public ActionResult Index() { Response.Status = "404 Not Found"; Response.StatusCode = 404; return View(); }
seperti berikut Kaedah ini secara lalai untuk menambahkan url
pada ?aspxerrorpath=/
anda, contohnya: http://localhost/Error??aspxerrorpath=/123456
, jadi. ia tidak disyorkan. Cuba
Buka fail Global.asax
untuk menentukan alamat pengalihan ralat (controller/action)
protected void Application_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError(); if (ex is HttpException && ((HttpException)ex).GetHttpCode() == 404) { Response.Redirect("/Error"); } }
Nota: Semasa pembangunan, kami sering Menggunakan kaedah
Global.asax
dalam kaedahApplication_Error
melompat ke halaman ralat tersuai, tetapi kadangkala (terutamanya apabila tapak digunakan untuk IIS) menggunakan kaedahResponse.Redirect
dalam kaedahApplication_Error
akan gagal . Apabila ralat tidak normal berlaku, halaman kuning ralat lalai masih dipaparkan.Response.Redirect
Sebab asasnya ialah walaupun kita menggunakan kaedahdalam kaedah
Application_Error
, apabila ralat pengecualian berlaku dalam sistem,Response.Redirect
berpendapat bahawa pengecualian tidak telah dikendalikan, jadi ia tidak Ia akan melompat ke halaman yang ditunjuk olehAsp.Net
dalam kaedahApplication_Error
, dan akhirnya ia akan melompat ke halaman kuning ralat lalai.Response.Redirect
Penyelesaian masalah ini sangat mudah Sebelum menggunakanPembelajaran yang disyorkan:dalam kaedah
Application_Error
untuk membuat lompatan, panggil kaedahResponse.Redirect
dahulu untuk memberitahu sistem bahawa. ralat pengecualian telah dikendalikan , sistem akan melompat ke halaman ralat tersuai jika anda memanggil kaedahServer.ClearError()
sekali lagi.Response.Redirect
Atas ialah kandungan terperinci Analisis mendalam halaman 404 tersuai mvc4 dalam asp.net (kongsi). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!