この件に関して多くの質問があったことは知っていますが、私の状況ではどれも役に立たないようですので、別の質問を投稿します.
私はプロジェクトを与えられ、そのプロジェクトを別々のコントロールに分割するように求められました。もともと、プロジェクトには「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; }
}
それは古いプロジェクトで機能し、変更されたのは名前空間と新しい名前空間への呼び出しだけでした。