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.Controls要求 . 的属性Controls的静态获取器UMNEventsRssFeedControl。显然,Controls是上述类的实例属性。

您需要提供一个实例UMNEventsRssFeedControl才能使代码正常工作。

于 2012-06-14T16:40:12.813 回答
0

您的命名空间和类被命名为相同的东西。不要那样做。

于 2012-06-14T21:52:50.507 回答