从asp页面调用静态类中的静态方法

时间:2013-01-02 10:21:02

标签: asp.net static static-methods

当我从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>
.......

我需要做些什么来解决这个问题?

2 个答案:

答案 0 :(得分:2)

尝试添加名称空间MySite

<script src="<%= MySite.Tudo.getFromDefinicao("winJS") %>

答案 1 :(得分:0)

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

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

如果出现此错误:

  

编译器错误消息:CS0433:类型&#39; MySite.Tudo&#39;存在于&#39; C:......&#39;和&#39; c:..&#39;

将ASP.NET文件夹App_Code中的类移除到另一个。