Mengalihkan Pengguna ke Halaman 404
Kustom di ASP.NET MVC
Dalam dunia aplikasi web, menjaga pengalaman pengguna yang mulus adalah hal yang penting. Bayangkan seorang pengguna yang dengan hati-hati mengetik URL hanya untuk dihadapkan pada halaman kesalahan yang membuat frustrasi karena rute yang tidak ada. Hal ini dapat membuat pengguna merasa bingung dan kecewa. Untungnya, sebagai pengembang, kita memiliki kemampuan untuk meningkatkan aplikasi kita dengan menangani skenario semacam itu dengan baik.
Dalam pos blog ini, kita akan menjelajahi cara mengalihkan pengguna ke halaman kesalahan 404
kustom di ASP.NET MVC ketika mereka mencoba mengakses pengontrol yang tidak ada.
Memahami Masalah
Ketika seorang pengguna mencoba mengunjungi URL yang tidak sesuai dengan pengontrol atau aksi mana pun dalam aplikasi ASP.NET MVC Anda, sebuah pengecualian akan dilemparkan. Sebagai contoh, jika seseorang mencoba untuk menavigasi ke:
http://www.nosite.com/paeges/1
URL ini salah dan seharusnya diarahkan ke pengontrol /pages/
. Alih-alih membawa pengguna ke pesan kesalahan yang umum, kita ingin mengalihkan mereka ke halaman 404
kustom yang ramah dan informatif.
Tinjauan Solusi
Untuk mencapai tujuan ini, kita perlu mengkonfigurasi aplikasi ASP.NET MVC kita untuk menangani pengecualian routing dengan mengalihkan ke halaman 404
yang ditentukan. Berikut adalah langkah-langkah untuk melakukannya.
Langkah 1: Mendefinisikan Halaman Kesalahan Kustom Anda
Sebelum kita masuk ke konfigurasi routing, langkah pertama adalah membuat halaman 404
kustom. Hal ini bisa berupa tampilan sederhana yang memberi tahu pengguna tentang kesalahan dan mungkin menyarankan tautan yang berguna.
- Buat sebuah Tampilan: Di direktori
/Views/Shared/
, tambahkan tampilan baru yang disebutError404.cshtml
. - Desain Konten: Pastikan kontennya ramah pengguna. Misalnya:
<h1>Oops! Halaman Tidak Ditemukan</h1> <p>Maaf, halaman yang Anda cari tidak ada. Silakan periksa URL atau kembali ke halaman utama.</p>
Langkah 2: Memperbarui Web.Config untuk Kesalahan Kustom
Selanjutnya, Anda perlu memberi tahu aplikasi ASP.NET MVC Anda untuk menampilkan halaman kesalahan kustom ketika kode status HTTP yang ditentukan terjadi. Buka file Web.config
Anda dan tambahkan baris berikut:
<system.web>
<customErrors mode="On" defaultRedirect="~/Error404">
<error statusCode="404" redirect="~/Error404" />
</customErrors>
</system.web>
- mode: Atur ini ke
On
untuk mengaktifkan halaman kesalahan kustom. - defaultRedirect: Ini adalah jalur ke halaman kesalahan kustom Anda.
- error: Ini menentukan bahwa ketika kesalahan
404
terjadi, aplikasi harus mengalihkan ke halaman yang ditentukan.
Langkah 3: Menangani Rute di File Global.asax
Selanjutnya, Anda ingin memastikan bahwa masalah routing ditangkap. Buka file Global.asax
Anda dan tambahkan metode berikut:
protected void Application_Error()
{
Exception exception = Server.GetLastError();
HttpException httpException = exception as HttpException;
if (httpException != null)
{
int httpCode = httpException.GetHttpCode();
if (httpCode == 404) // Tidak ditemukan
{
Response.Clear();
Server.ClearError();
Response.Redirect("~/Error404");
}
}
}
- Application_Error(): Metode ini berjalan setiap kali kesalahan yang tidak ditangani terjadi dalam aplikasi Anda.
- Tangkap Pengecualian: Kode tersebut menangkap pengecualian dan memeriksa apakah kode status HTTP adalah
404
. - Redirect: Jika iya, bersihkan kesalahan dan arahkan pengguna ke halaman
404
kustom Anda.
Kesimpulan
Dengan mengikuti langkah-langkah ini, Anda dapat memastikan bahwa pengguna yang menavigasi ke halaman yang tidak ada disambut dengan halaman kesalahan 404
yang ramah alih-alih kesalahan pengecualian yang umum. Ini tidak hanya meningkatkan pengalaman pengguna tetapi juga mempertahankan tingkat profesionalisme dalam aplikasi ASP.NET MVC Anda.
Saat Anda terus membangun dan meningkatkan aplikasi web Anda, ingatlah bahwa cara Anda menangani kesalahan berbicara banyak tentang perhatian Anda terhadap detail dan komitmen terhadap kepuasan pengguna. Luangkan waktu untuk menerapkan perubahan sederhana ini dan lihat dampak positif pada kegunaan aplikasi web Anda.
Dengan langkah-langkah yang sederhana ini, Anda dapat meningkatkan cara aplikasi ASP.NET MVC Anda menangani kesalahan routing. Selamat coding!