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
0 komentar: