Яка різниця між CodeFile = "file.ascx.cs" та CodeBehind = "file.ascx.cs" в декларації управління користувачем ASP.NET?
Є один новий чи рекомендований? Або вони мають специфічне використання?
Яка різниця між CodeFile = "file.ascx.cs" та CodeBehind = "file.ascx.cs" в декларації управління користувачем ASP.NET?
Є один новий чи рекомендований? Або вони мають специфічне використання?
Відповіді:
CodeBehind : потреби компілювати (модель ASP.NET 1.1). Скомпільований двійковий файл розміщується у папці bin веб-сайту. Потрібно зробити компіляцію у Visual Studio перед тим, як розгорнути. Це гарна модель, коли ви не хочете, щоб вихідний код відображався як звичайний текст. Наприклад, при доставці клієнту, якому ви не зобов’язані надавати код.
CodeFile : Ви надаєте вихідному файлу рішення для розгортання. Виконання ASP.NET 2.0 компілює код за потреби. Скомпільовані файли знаходяться у файлах Microsoft.NET [.NET версія] \ Тимчасові файли ASP.NET.
Файл Codebehind потрібно компілювати перед запуском, але в src нам не потрібно компілювати, а потім запускати .. просто збережіть файл.
but in src- ти маєш на увазі but in the CodeFile?
Я працюю з прикладним проектом у Visual Studio Express 2012 для Інтернету та використовую .NET 4.0. У коді за файлами для моїх логін та змін паролів я виявив ситуацію, коли мені потрібні були і CodeBehind, і CodeFile у декларації.
Якщо я не додаю посилання на файл коду, як
CodeFile=login.aspx.cs
Веб-сторінка не розбирається, і браузер відображає помилку аналізатора. Не має значення, складаю я проект чи ні.
Якщо я не додаю код за посиланням, як
CodeBehind=login.aspx.cs
Посилання на класи безпеки, такі як MembershipUser, не спрацьовують як під час компіляції, так і при спробі використання intellisense з помилкою типу "Тип або простір імен MembershipUser неможливо знайти". Я додав посилання на System.Web.ApplicationServices, як того вимагає рамка .Net 4.0.
Слід додати, що ці клопітні файли працюють у програмі на веб-сайті, створеному за допомогою інструмента застосунку IIS. Коли я відкриваю веб-сайт від Visual Studio, у мене не виникає труднощів з помилками розбору або помилками посилань. Ця плутанина виникає лише тоді, коли я відкриваю додаток як проект у Visual Studio.