【问题标题】:Compile errors after converting to a Web Application Project from a Web Site从网站转换为 Web 应用程序项目后编译错误
【发布时间】:2008-11-21 03:43:28
【问题描述】:

我正在尝试将网站转换为 Web 应用程序项目模型,但我遇到了编译错误,我在 Converting a Web Site Project to a Web Application Project 找到的指南似乎没有涵盖这些错误。

问题在于,作为子控件嵌入在 Ajax 控件工具包的 TabContainer/TabPanel 的 ContentTemplate 中的标准 ASP.NET 控件不再对页面可见(并导致编译错误)。看起来它们只能通过调用 FindControl 来引用,而当项目是网站时,它们可以在页面的代码隐藏文件中作为属性直接访问。

不幸的是,我们有很多使用 TabContainer 的 Web 表单,将所有对子控件的引用从简单的属性引用转换为 FindControl 调用将非常繁琐。

在研究问题时,我在Single Instance Templates 中发现了一个名为 TemplateInstance 的属性的引用,这似乎很有希望,但我知道这适用于控件设计者,而不是控件用户。任何帮助将不胜感激。

【问题讨论】:

    标签: asp.net asp.net-ajax ajaxcontroltoolkit web-site-project web-application-project


    【解决方案1】:

    我想我还要补充一点。该问题并非特定于 Ajax Control Toolkit 的 TabContainer。事实上,我有一个 FormView 控件,并且 ItemTemplate 中的所有子控件不再被编译器识别为页面的属性,并导致编译错误。我不敢相信我必须更改所有这些属性引用以在整个表单中调用 findcontrol,因为我从 Web 站点移动到 Web 应用程序项目。 :-(

    【讨论】:

      【解决方案2】:

      我很想知道您解决此问题的最终决定是什么。

      阅读您的帖子,与我自己当前的网络应用转换研究相比,我决定冒险并推荐您到 this 页面,希望它可以帮助您了解转换和编译时代码隐藏文件会发生什么。

      【讨论】:

      • 我们放弃了将网站迁移到 Web 项目的尝试。我试图将它转移到 MVC 模型——主要是为了引入一些真正的 Ajax 页面,但我意识到这是不必要的;你可以用 WebForms 做真正的 Ajax——你只需要小心。
      【解决方案3】:

      您是否通过“转换为 Web 应用程序...”为所有控件生成了设计器文件

      【讨论】:

        猜你喜欢
        • 2010-10-03
        • 1970-01-01
        • 1970-01-01
        • 2010-11-20
        • 2017-02-21
        • 1970-01-01
        • 1970-01-01
        • 2012-10-02
        • 1970-01-01
        相关资源
        最近更新 更多