1

この件に関して多くの質問があったことは知っていますが、私の状況ではどれも役に立たないようですので、別の質問を投稿します.

私はプロジェクトを与えられ、そのプロジェクトを別々のコントロールに分割するように求められました。もともと、プロジェクトには「events」という名前のフォルダーがあり、「EventsRssFeedControl」というコントロールを参照していました。上司から、イベントと EventsRssFeedControl を分離して、独自のプロジェクトにまとめるように依頼されました。だから私はそれをしました。すべての名前空間を変更し、すべてをコンパイルしました。しかし、そこに移動しようとすると、エラーが発生します。説明: この要求を処理するために必要なリソースのコンパイル中にエラーが発生しました。次の特定のエラーの詳細を確認し、ソース コードを適切に変更してください。

コンパイラ エラー メッセージ: CS0120: 非静的フィールド、メソッド、またはプロパティ 'System.Web.UI.Control.Controls.get' にはオブジェクト参照が必要です

ソース エラー:

<input type="hidden" name="selectedDate" value="<%= UMNEventsRssFeedControl.Controls.UMNEventsRssFeedControl.SelectedDateStr %>"/>

私のコードは次のようになり、「非静的」と呼ぶことに混乱し、なぜ機能しないのかについてさらに混乱しています。

        private static string _selectedDateStr;
    public static string SelectedDateStr
    {
        get { return _selectedDateStr; }
        set { _selectedDateStr = value; }
    }

それは古いプロジェクトで機能し、変更されたのは名前空間と新しい名前空間への呼び出しだけでした。

4

2 に答える 2

1

問題は実際にはありませんSelectedDateStr

UMNEventsRssFeedControl.ControlsControlsのプロパティの静的ゲッターを要求していますUMNEventsRssFeedControl。明らかにControls、言及されたクラスのインスタンス プロパティです。

UMNEventsRssFeedControlコードを機能させるには、 のインスタンスを提供する必要があります。

于 2012-06-14T16:40:12.813 に答える
0

名前空間とクラスは同じ名前です。そうしないでください。

于 2012-06-14T21:52:50.507 に答える