【问题标题】:Why are my classes not available from ASP.NET inline code?为什么我的类在 ASP.NET 内联代码中不可用?
【发布时间】:2009-12-11 09:27:23
【问题描述】:

我有一个用 VS 2008 编写的 ASP.NET (C#) 应用程序,它使用 CodeBehind 文件和母版页。还有其他类和扩展方法都在同一个命名空间中。现在在某些页面上,我的类和方法未从内联代码中定义,例如 。我可以写 ,但是 1. 它不必要地更长 2. 我不能使用扩展方法。在大多数页面上,它可以工作,但在某些页面上却不行。

虽然我可以盲目地(不使用 IntelliSense)输入代码,它会编译得很好,但是在访问页面时,它会抛出一些 HttpCompiler 异常,告诉我类/方法未定义。它建议我添加“使用”或参考。但是我应该如何在代码视图的 .aspx 页面上插入“使用 [namespace]”?这仅在 C# 代码中可用,在 HTML 代码中不可用。而且我绝对不需要引用,因为它们都在同一个项目中,即使在同一个命名空间中。

有人知道为什么有时这不起作用吗?根本是什么原因,我都不知道从哪里开始找问题,更别提解决方案了……

【问题讨论】:

    标签: c# asp.net inline-code


    【解决方案1】:
    <%@ Import Namespace="Namespace.Containing.ExtensionMethod" %>
    

    或者,如果您希望它在所有页面上全局应用,您可以使用 web.config:

    <pages>
      <namespaces>
        <add namespace="Namespace.Containing.ExtensionMethod"/>
      </namespaces>
    </pages>
    

    【讨论】:

    • 谢谢,导入的东西成功了。但是为什么在某些页面上没有它可以工作?
    猜你喜欢
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多