2014-10-08 4 views
1

У меня есть веб-страница в одном проекте веб-форм, где я использую 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> 
       &nbsp; 
      </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 »в статическом контексте».

Как я могу это исправить, и почему он будет работать в одном проекте, но не в другом?

+0

Брус думает, почему это вызвало бы эту ошибку, но у вас есть файл EventSearchResults.aspx.designer.cs и если да, то вы также изменили пространство имен там? – Rhumborl

+0

нет, у меня нет этого файла –

ответ

0

Я понял, когда я скопировал его в новый файл, новый созданный файл использовал «CodeFile» вместо «CodeBehind». Изменение его CodeBehind Устранена проблема

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EventSearchResults.aspx.cs" Inherits="WebAssets_Templates_EventSearchResults" %> 
+0

Вы можете «принять» свой собственный ответ, нажав «отметить». Это перевело вопрос из пула оставшихся без ответа вопросов. –