CS0103: имя 'rGrid' не существует в текущем контексте
У меня есть страница ASPX:
<%@ Page Language="C#" MasterPageFile="~/site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="myProject.Presentation.Web.Default" src="Default.aspx.cs" %>
<%@ MasterType VirtualPath="~/site.Master" %>
...
<asp:Repeater ID="rGrid" runat="server">
<ItemTemplate>
...
</ItemTemplate>
</asp:Repeater>
С этим мастером:
<%@ Master Language="C#" AutoEventWireup="true" Codebehind="site.master.cs" Inherits="myProject.Presentation.Web.master" src="~/site.Master.cs" %>
Когда я пытаюсь получить доступ к одному из членов на странице:
namespace myProject.Presentation.Web {
public partial class Default : System.Web.UI.Page
...
rGrid.DataSource = myProject.Business.User.GetReports(UserId, true);
Я получаю этот YSOD на этой линии:
CS0103: The name 'rGrid' does not exist in the current context
И все же Intellisense и Object Exporer говорят, что это действительно. Это почему?
3 ответа
Решение
Это веб-сайт или веб-приложение?
Если это веб-приложение, удалите файлы дизайнера, затем щелкните правой кнопкой мыши на странице aspx и / или главной странице и выберите команду "Преобразовать в веб-приложение". Это восстановит файлы дизайнера.
Это чепуха, законсервированный проект и переделанный как проект сайта.
Эта ошибка обычно возникает, когда значения переменной и ее использование находятся в разных областях. Проверьте файл *.aspx.cs и пространство имен файла конструктора, пространства имен должны совпадать.