1

我有一个 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 说它是有效的。这是为什么?

4

3 回答 3

3

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

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

于 2010-03-09T18:02:39.390 回答
0

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

于 2013-05-28T07:17:22.443 回答
0

这是胡说八道,将项目罐头并重做为网站项目。

于 2010-03-09T18:48:18.123 回答