Apa perbedaan antara CodeFile = "file.ascx.cs" dan CodeBehind = "file.ascx.cs" dalam deklarasi kontrol pengguna ASP.NET?
Apakah ada yang lebih baru atau direkomendasikan? Atau apakah mereka memiliki penggunaan khusus?
CodeBehind : Perlu dikompilasi (model ASP.NET 1.1). Biner yang dikompilasi ditempatkan di folder bin dari situs web. Anda perlu melakukan kompilasi di Visual Studio sebelum Anda menyebarkan. Ini adalah model yang baik ketika Anda tidak ingin kode sumber dapat dilihat sebagai teks biasa. Misalnya saat mengirim ke pelanggan yang tidak memiliki kewajiban untuk memberikan kode.
CodeFile : Anda memberikan solusi untuk penyebaran file sumber. ASP.NET 2.0 runtime mengkompilasi kode ketika dibutuhkan. File yang dikompilasi berada di Microsoft.NET [versi .NET] \ File ASP.NET Sementara.
File codebehind perlu dikompilasi sebelum dijalankan tetapi dalam src kita tidak perlu mengkompilasi dan kemudian menjalankan .. simpan saja file tersebut.
sumber
but in src
- maksudmubut in the CodeFile
?Saya bekerja dengan Proyek Aplikasi di Visual Studio Express 2012 Untuk Web dan menggunakan .NET 4.0. Dalam kode di belakang file untuk login saya dan mengubah halaman kata sandi saya menemukan situasi di mana saya membutuhkan CodeBehind dan CodeFile dalam deklarasi.
Jika saya tidak menambahkan referensi file kode suka
Halaman web tidak diuraikan dan browser menampilkan kesalahan pengurai. Tidak masalah apakah saya mengkompilasi proyek atau tidak.
Jika saya tidak menambahkan kode di belakang referensi suka
Referensi ke kelas Keamanan seperti MembershipUser gagal baik pada waktu kompilasi dan ketika mencoba untuk menggunakan intellisense dengan kesalahan seperti "Tipe atau namespace MembershipUser tidak dapat ditemukan". Saya telah menambahkan referensi ke System.Web.ApplicationServices seperti yang dipersyaratkan oleh .Net 4.0 framework.
Saya harus menambahkan bahwa file-file bermasalah ini berjalan di suatu aplikasi di dalam situs web yang dibuat menggunakan alat Aplikasi IIS. Ketika saya membuka situs web dari Visual Studio saya tidak mengalami kesulitan dengan kesalahan parser atau kesalahan referensi. Kebingungan ini hanya terjadi ketika saya membuka aplikasi sebagai proyek di Visual Studio.
sumber