CodeFile vs CodeBehindASP.NET用户控件的声明中的CodeFile =" file.ascx.cs"和CodeBehind =" file.ascx.cs"有什么区别? 是更新的还是推荐的? 还是有特定用法? CodeBehind:需要进行编译(ASP.NET 1.1模型)。编译后的二进制文件位于网站的bin文件夹中。部署之前,需要在Visual Studio中进行编译。当您不希望源代码以纯文本形式显示时,这是一个很好的模型。例如,当交付给您没有义务向其提供代码的客户时。 CodeFile:您为源文件提供部署解决方案。 ASP.NET 2.0运行时在需要时编译代码。编译后的文件位于Microsoft.NET [.NET版本] 临时ASP.NET文件中。 我正在使用Visual Studio Express 2012 For Web中的应用程序项目并使用.NET 4.0。在用于登录和更改密码页面的文件后面的代码中,我发现在声明中同时需要CodeBehind和CodeFile的情况。 如果我不添加代码文件引用,例如
网页无法解析,浏览器显示解析器错误。是否编译项目都没有关系。 如果我没有在参考后面添加代码
对安全类(如MembershipUser)的引用在编译时和尝试使用智能感知时均会失败,并显示诸如"找不到类型或名称空间MembershipUser"的错误。我已根据.Net 4.0框架的要求添加了对System.Web.ApplicationServices的引用。 我应该补充一点,这些麻烦的文件正在使用IIS应用程序工具创建的网站内的应用程序中运行。当我从Visual Studio打开网站时,解析器错误或引用错误没有问题。仅当我在Visual Studio中将应用程序作为项目打开应用程序时,才会发生这种混淆。 Codebehind文件需要在运行之前进行编译,但是在src中,我们不需要进行编译然后运行..只需保存文件即可。 |