1

当我从 asp 页面调用静态方法时,我得到了这个编译错误:

CS0103: The name 'Tudo' does not exist in the current context 
Line 10: <script src="<%= Tudo.getFromDefinicao("winJS") %>" type="text/javascript"></script>

Tudo 是一个静态类,在 App_Code 粘贴中,命名空间与我的 asp 页面相同。

namespace MySite
{
   public static class Tudo
   {
     public static string getFromDefinicao(string key)
     {
        //do some stuff
        return myString;
     }
   }
}

我想从我的 asp 调用 getFromDefinicao(...) 方法,但 asp 找不到类(在这种情况下,我在我的 MasterPage 中调用)。如果我从 MasterPage.cs 调用 Tudo.cs 中的方法,我没有问题,我不需要声明“使用‘命名空间’;” 因为它们在同一个命名空间中......

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="MasterPage.master.cs" Inherits="MySite.MasterPage" %>
<html>
<head>
 <script src="<%= Tudo.getFromDefinicao("winJS") %>" type="text/javascript"></script>
</head>
.......

我必须做些什么来解决这个问题?

4

2 回答 2

2

尝试添加命名空间MySite

<script src="<%= MySite.Tudo.getFromDefinicao("winJS") %>
于 2013-01-02T10:22:38.793 回答
1

解决方法:调用方法时添加命名空间:

<script src="<%= MyNamespace.MyStaticClass.myMethod()

如果出现这个错误:

编译器错误消息:CS0433:“C:...”和“c:..”中都存在“MySite.Tudo”类型

将类从 ASP.NET 文件夹 App_Code 删除到另一个。

于 2013-01-02T10:48:39.927 回答