2012-02-14 2 views
3

EDIT: Основная проблема заключалась в том, что я просто делал «Добавить существующий элемент» из старого проекта веб-сайта в Проект веб-приложения ASP.NET. Это вызвало столько неприятностей, что я только начинал с нуля, за исключением того, что вместо добавления существующих элементов я добавил новые мастер-страницы и страницы aspx в проект, а затем заполнил их. Та же проблема сохраняется.«System.Web.UI.MasterPage не содержит определения ...» Ошибка ASP.NET

У меня есть старый проект, который является стандартным веб-сайтом. Я начал новый проект как веб-приложение и пересадил на все нужные мне страницы. Тем не менее, я получаю 100+ ошибку, которые состоят в основном из нескольких различных перестановок следующего:

  • 'System.Web.UI.MasterPage does not contain a definition for 'headerImage' (я получаю это в коде-за)
  • 'MasterPage' does not contain a definition for 'imgHeader' (также это в коде-позади)

Что касается первой ошибки, это значит, что проект не понимает, что задана главная страница. Я поставил главную страницу в верхней части каждого из моей ASPX страниц нравятся:

<%@ page language="C#" masterpagefile="~/MasterPages/MasterPage.master" autoeventwireup="true" inherits="Equipment.aspx.cs" title="Untitled Page" %> 
<%@ MasterType VirtualPath="~/MasterPages/MasterPage.master" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 
<!-- some content --> 
</asp:Content> 

Кроме того, я четко выставить headerImage свойства в ~/MasterPages/MasterPage.master фонового кода:

public partial class MasterPage : System.Web.UI.MasterPage 
    { 
     #region Properties 

     private string _headerImage; 
     public string headerImage 
     { 
     get 
     { 
      return _headerImage; 
     } 
     set 
     { 
      _headerImage = (string)value; 
     } 

     } 

     // other stuff 
    } 

И все же VS все еще ищет это свойство в базовом классе System.Web.UI.MasterPage!

Я уже проверил сообщение this и это не решило мою проблему.

Мысли? Все отзывы приветствуются. Спасибо, парни.

+1

где ext для этого файла "~/MasterPages/MasterPage.master – MethodMan

+0

@DJKRAZE Я новичок в VS ASP.NET. Если вы имеете в виду расширение, это просто .master и .cs для кода позади. – kmarks2

ответ

2

Доброе утро, когда вы добавили существующие файлы в новое веб-приложение, вы их воссоздали с нуля, или вы сделали буквальный «Добавить существующий товар»? Если это так, тогда вы должны щелкнуть правой кнопкой мыши по каждому из файлов и нажать «Преобразовать в веб-приложение».

+0

Да, я просто сделал «Добавить существующий элемент». Поэтому мне просто нужно сделать «Конвертировать» на главные страницы (это единственное место, где я даже вижу вариант). Спасибо. – kmarks2

+1

Недоступно ли оно на другом .aspx или .ascx файлы на сайте? – mreyeros

+1

Как-то это доступно для некоторых. Я пошел вперед и преобразовал все файлы, которые мог. После этого я получаю такие ошибки, как «Тип« MasterPage »уже содержит определение для« Form1 »и других элементов – kmarks2

2

Проверьте, что это за пространство имен этого мастера. Если это System.Web.UI.MasterPage, попробуйте переименовать главную страницу на другое имя. Таким образом, вы можете изолировать проблему.

+1

В этом проблема. Пересаженные в мастер-страницы были в пространстве имен _no_. Я просто обернул их общим пространством имен, используемым в этом проекте, и большинство моих проблем исчезло. Все еще есть некоторые «mynamespace.MasterPage» уже определяет член с именем «SomeCSS» с теми же параметрами ». Спасибо за совет. – kmarks2

0

Мой ответ аналогичен тому, что у @mreyeros - однако мой файл-разработчик уже присутствовал - именно Vs не признавал частичную природу класса non-designer и, таким образом, связывает 2 вместе.

Исправление, которое я использовал, заключалось в удалении файлов из проекта и их повторной добавлении с помощью добавления существующего. Я сделал это навалом, а вновь добавленные файлы вели себя правильно, и ошибка исчезла.

Смежные вопросы