在声明ASP.NET用户控件时,CodeFile="file.ascx.cs“和CodeBehind="file.ascx.cs”有什么不同?
是较新的还是推荐的?或者它们有特定的用法?
发布于 2009-06-05 08:46:27
CodeBehind:需要编译(ASP.NET 1.1模型)。编译后的二进制文件放在网站的bin文件夹中。在部署之前,您需要在Visual Studio中进行编译。当您不希望源代码以纯文本形式显示时,这是一个很好的模型。例如,当交付给您没有义务提供代码的客户时。
CodeFile:为部署提供源文件和解决方案。ASP.NET 2.0运行时会在需要时编译代码。编译后的文件位于Microsoft.NET.NET版本\Temporary ASP.NET Files下。
发布于 2009-05-23 11:07:01
代码后台文件需要在运行前编译,但在src中,我们不需要编译然后运行..只需保存文件即可。
发布于 2013-06-09 11:29:36
我正在使用.NET 4.0在Visual Studio Express 2012 For Web中处理应用程序项目。在我的登录和更改密码页面的代码隐藏文件中,我发现声明中同时需要CodeBehind和CodeFile的情况。
如果我不添加代码文件引用,比如
CodeFile=login.aspx.cs
网页不能解析,浏览器显示解析器错误。我是否编译这个项目并不重要。
如果我不在引用后面添加代码,比如
CodeBehind=login.aspx.cs
对安全类(如MembershipUser )的引用在编译时和尝试使用intellisense时都会失败,并出现类似“无法找到类型或命名空间MembershipUser”的错误。我已经按照.Net 4.0框架的要求添加了对System.Web.ApplicationServices的引用。
我应该补充说,这些麻烦的文件是在使用IIS应用程序工具创建的网站内的应用程序中运行的。当我从Visual Studio打开网站时,我没有遇到解析器错误或引用错误的问题。只有当我在Visual Studio中将应用程序作为项目打开时,才会出现这种混淆。
https://stackoverflow.com/questions/73022
复制相似问题