我在一個Web表單項目中使用Repeater的網頁;這是網頁上的代碼:無法在靜態環境中訪問非靜態字段「Repeater」
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<div class="Event">
<div class="">
<h3><a href="<%# DataBinder.Eval(Container.DataItem, "Url") %>"><%# DataBinder.Eval(Container.DataItem, "Name") %></a></h3>
<span><%# DataBinder.Eval(Container.DataItem, "Location") %>. <%# DataBinder.Eval(Container.DataItem, "DateDisplay") %></span>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
和這裏的隱藏代碼:
namespace TestWebForms
{
public partial class EventSearchResults : System.Web.UI.Page
{
public string searchTerms { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
var query = HttpContext.Current.Request.QueryString;
var searchTerms = String.IsNullOrEmpty(query["q"]) ? String.Empty : query["q"];
ArrayList values = new ArrayList();
values.Add(new Event()
{
Name = "Class of 1715 300th Reunion",
Location = "Cambridge, MA",
DateDisplay = "May 20th 2015",
Url = "#"
});
values.Add(new Event()
{
Name = "Symposium on Proper Cat Petting Techniques",
Location = "Boston, MA",
DateDisplay = "December 25th 2014",
Url = "#"
});
values.Add(new Event()
{
Name = "Puppies Everywhere!!!",
Location = "Cambridge, MA",
DateDisplay = "November 12th 2014",
Url = "#"
});
Repeater1.DataSource = values;
Repeater1.DataBind();
}
}
}
它工作得很好。
然後我複製並粘貼到一個新項目的文件(長話短說,但基本上我需要的文件存在項目2,但我無法查看項目2中的網站,所以我創建了頁面I需要在項目1中進行查看,然後在完成時將其複製到項目2)
文件字面上完全相同(除網頁的命名空間外)。但是中繼器不能在項目2中工作。在代碼隱藏中,Repeater1有一個紅色下劃線,並且它表示「無法在靜態上下文中訪問非靜態字段」Repeater「。
我該如何解決這個問題,爲什麼地球上它可以在一個項目中工作,而不是在另一個項目中工作?
想不出爲什麼會造成這個錯誤,但你有一個EventSearchResults.aspx.designer.cs文件,如果是的話,你也改變了命名空間在那裏? – Rhumborl 2014-10-08 19:12:17
不,我沒有那個文件 – 2014-10-08 19:13:05