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 disebut Error404.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!