CS0103: Le nom « rGrid » n'existe pas dans le contexte actuel
Question
J'ai une page 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>
Avec ce Master:
<%@ Master Language="C#" AutoEventWireup="true" Codebehind="site.master.cs" Inherits="myProject.Presentation.Web.master" src="~/site.Master.cs" %>
Quand je tente d'accéder à l'un des membres de la page:
namespace myProject.Presentation.Web {
public partial class Default : System.Web.UI.Page
...
rGrid.DataSource = myProject.Business.User.GetReports(UserId, true);
Je reçois ce YSOD sur cette ligne:
CS0103: The name 'rGrid' does not exist in the current context
Pourtant, IntelliSense et l'objet Exporer disent qu'il est valide. Pourquoi?
La solution
Est-ce une application ou site web?
Si c'est une application Web, supprimer vos fichiers de concepteur, puis faites un clic droit sur votre page ASPX et / ou la page principale et sélectionnez Convertir en application Web. Ceci reconstruira les fichiers concepteur.
Autres conseils
Ceci est un non-sens, en conserve le projet et refaisant comme un projet de site Web.
Cette erreur se produit généralement lorsque les déclarations variables et l'utilisation des variables sont portées différentes. Vérifiez fichier * .aspx.cs et espace de noms fichier de concepteur, les espaces de noms doit être identique ..