CS0103:当前上下文中不存在名称“rGrid”

时间:2010-03-09 17:59:28

标签: c# asp.net ysod

我有一个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 个答案:

答案 0 :(得分:3)

这是一个网站还是网络应用程序?

如果是网络应用程序,请删除您的设计器文件,然后右键单击您的aspx页面和/或母版页并选择转换为Web应用程序。这将重建设计器文件。

答案 1 :(得分:0)

这是无稽之谈,将项目封装起来并将其作为网站项目重做。

答案 2 :(得分:0)

当变量declerations和变量用法在不同的范围内时,通常会发生此错误。检查* .aspx.cs文件和设计器文件命名空间,命名空间必须相同..