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内のメソッドを呼び出す場合、問題はなく、「using'namespace';」と宣言する必要はありません。同じ名前空間にあるため...

<%@ 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: タイプ 'MySite.Tudo' が 'C:...' と 'c:..' の両方に存在します

クラスを ASP.NET フォルダー App_Code から別のフォルダーに削除します。

于 2013-01-02T10:48:39.927 に答える