How To Call Web Form From MVC Controller

by 06.33 0 komentar

Iseng-iseng sambil kerja nulisnya, :)
Beberapa waktu yang lalu ada satu problem yang cukup buat mata gak berkedip dan buat geram. Setelah solusinya sy dapat ternyata hanya sebuah problem yang sederhana. Mungkin pengalaman ini bisa jd satu tips buat teman2 saya web developer ..:)
Sy ceritain dulu kasusnya seperti apa.
Sederhananya, saya ingin membuka sebuah web form (classic) asp.net dari controller. Kebetulan sy mengerjakan sebuah project .net yang menggunakan framework MVC 2. Jadi udah gak pake web form lagi karena udah digantiin sama yang namanya view. Artinya, untuk satu page (aspx, cshtml,dsb) udah tidak ada file .cs untuk page tersebut, udah digantikan sama yang namanya controller.
Setelah browing2, dapat lah sebuah pencerahan dengan di temukannya sintax berikut :
      return Redirect("~/[page_name].aspx?");
syntax diatas udah benar dan itulah yang saya gunakan. 
Kira2 secara umum struktur dari project MVC 2 sbb: 

Kemudian saya buat satu page Web Form baru, sy misalkan namanya "Report"

sekarang mari kita liat perbedaannya antara Report.aspx dengan Index.aspx dan Home.aspx


Report.aspx memiliki file Report.aspx.cs dan Report.aspx.designer.cs yang tidak dimiliki yang lain. Nah, saya ingin membuka file ini misalnya ketika About di klik.

Maka di controller nya saya tambah kan syntax yang saya temukan tadi atau yang ini :
      return Redirect("~/[page_name].aspx?");
atau saya ganti sesuai dengan url di project tadi:
      return Redirect("~/Views/Home/Report.aspx?");

lengkapnya seperti ini:

dan waktu dijalankan, sy mendapatkan error seperti ini :


saya coba untuk mengubah url nya barangkali kesalahannya ada disana tapi masih tetap aja error..

setelah baca sana-sini, akhirnya dapat 1 forum (lupa situs nya apa) yang mana salah satu dari yang lagi diskusi bilang kalau :
"sebuah web form itu tidak boleh diletakkan atau di-add di folder Views, harus kita buat diluar", kira2  sy pahami dalam bahasa indonesia begitu. :)
Jadi berdasarkan itu, saya cut/pindahkan page Report.aspx itu keluar dari folder view dan buat 1 folder baru misalkan saya buat Report

dan saya ubah kembali URL di controllernya sepert gambar berikut:

dan langkah terakhir saya jalankan aplikasinya (F5) dan hasilnya terlihat sbb:


Sebuah masalah yang sederhana kan.?? hehehe....
Semoga bermanfaat...

Salam
AET

Sistem Informasi

Developer

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.