【问题标题】:Can't call Global.asax function无法调用 Global.asax 函数
【发布时间】:2013-11-27 19:53:47
【问题描述】:

我有一个非常简单的:global.asax 文件:

<%@ Application Language="C#" %>
<script runat="server"> 
static class MyClass
{
   static string MyFunction()
   {
      return("Test ok!");
   }
}
</script>

但是当我尝试从网页调用它时......

<% Response.Write(MyClass.MyFunction());  %>

...我收到“编译器错误消息:CS0103:名称 'MyClass' 在当前上下文中不存在”。

我做错了什么?

(注意:为了让事情变得更加困难,我在 .asp 页面中从 c# 调用此代码。为了保留链接,我将 aspx 映射到 asp 后缀。这似乎适用于我的 asp 中的常规 c# 代码页。)

【问题讨论】:

  • 为什么不简单地在 App_Code 文件夹中添加另一个 C# 文件,添加 MyClass 类并在那里调用它? Global.asax 不适合这样使用,恕我直言。
  • 我完全是 aspx/c# 的新手,只是在寻找一个地方来存储我的全局实用程序函数。 Global.asax 看起来很适合这个。但你的方式立即奏效,如果是推荐的方式,我会这样做。谢谢。 (尽管如此,我还是会保留这个问题。)

标签: c# asp.net iis


【解决方案1】:

使用以下代码调用函数

<% Response.Write(ASP.Global_asax.MyClass.MyFunction());  %>

【讨论】:

  • 测试过,但我得到:“CS0234:名称空间'ASP'中不存在类型或名称空间名称'Global_asax'(您是否缺少程序集引用?)”
  • 在我的应用程序中工作。只是尝试在后面的代码中编写它。
  • 对不起,我是 aspx/c# 的新手,不知道“代码背后”是什么。
  • 它是 .vb 文件或 .cs 文件。只需右键单击该页面。并去查看代码。在页面加载中写下句子
  • 根本无法让代码隐藏的东西工作,抱歉。上下文菜单没有提及任何内容,互联网上的示例包括、类、成员等,我想要的只是一个“打印”。 :( 我会坚持使用 Maarten 的解决方案,因为我得到了那个解决方案。但是由于您的回答可能最好地回答了最初的问题(而且我无法让它工作可能是我的错),我将其标记为回答。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-30
  • 2012-06-04
  • 2013-04-20
  • 2019-12-10
相关资源
最近更新 更多