我有一个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表示它是有效的。那是为什么?
答案 0 :(得分:3)
这是一个网站还是网络应用程序?
如果是网络应用程序,请删除您的设计器文件,然后右键单击您的aspx页面和/或母版页并选择转换为Web应用程序。这将重建设计器文件。
答案 1 :(得分:0)
这是无稽之谈,将项目封装起来并将其作为网站项目重做。
答案 2 :(得分:0)
当变量declerations和变量用法在不同的范围内时,通常会发生此错误。检查* .aspx.cs文件和设计器文件命名空间,命名空间必须相同..