Intellisense kennt ID von Steuerelementen nicht...

22/01/2010 - 08:53 von Tamara Mikes | Report spam
Guten Morgen alle zusammen

In einer Beispieldatei namens "cs_Tree.aspx" welche ich aus dem Internet
habe, habe ich die drei folgenden Steuerelemente

<ASP:Literal id="TreeView" EnableViewState="false" runat="server" />
<asp:Label ID="lblLabel1" runat="server" Text="Label"></asp:Label>
<Asp:Literal ID="litTreeView" EnableViewState="false" runat="server"
/>
<asp:Label ID="lblTreeView" EnableViewState="false" runat="server"
/>

Dabei ist die erste Zeile original aus dem Beispiel, die zweite, dritte und
vierte Zeile ist von mir.

Der Kopf der Datei "cs_Tree.aspx" ist ausgestattet mit:

<%@ Page Language="C#" CodeFile="cs_Tree.aspx.cs" Inherits="cs_Tree"%>

In der Datei "cs_Tree.aspx.cs" habe ich eine Fehlermeldung, dass er in der
folgenden Zeile .TEXT nicht kennen würde. Das verstehe ich auch, denke ich
mir, ist doch der Name TreeView als ID eher ungeschickt gewàhlt, weil
TreeView ja eine bestehende Klasse ist. Also wollte ich ein Literal mit der
ID litTreeView erstellen. Aber wenn ich dann folgendes programmiere (ohne
Assistent):


public partial class cs_Tree : OboutInc.oboutAJAXPage
{
protected void Page_Load(object sender, EventArgs e)
{
...
// Write treeview to your page.
TreeView.Text = oTree.HTML(); //Originalzeile vom Anbieter
litTreeView.Text = oTree.HTML(); //Meine eigene Idee
...

Dann erhalte ich die nachstehenden beiden Fehlermeldungen:

Error 1 'System.Web.UI.WebControls.TreeView' does not contain a definition
for 'Text'
C:\0Daten\SchulungsBeispiele\Web_Obout_TreeDB\Web_Obout_TreeDB\cs_Tree.aspx.cs
76 18 Web_Obout_TreeDB

Error 2 The name 'litTreeView' does not exist in the current context
C:\0Daten\SchulungsBeispiele\Web_Obout_TreeDB\Web_Obout_TreeDB\cs_Tree.aspx.cs
77 9 Web_Obout_TreeDB

Es scheint mir, als ob der CodeBehind die ASPX Datei nicht kennen würde.

Wo kann ich eingreifen damit ich den Fehler los werde?

Vielen lieben Dank für Hinweise
Gruss Tamara
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
22/01/2010 - 09:25 | Warnen spam
Hallo Tamara,

"Tamara Mikes" schrieb:

Der Kopf der Datei "cs_Tree.aspx" ist ausgestattet mit:

<%@ Page Language="C#" CodeFile="cs_Tree.aspx.cs" Inherits="cs_Tree"%>

Error 1 'System.Web.UI.WebControls.TreeView' does not contain a definition for 'Text'
C:\0Daten\SchulungsBeispiele\Web_Obout_TreeDB\Web_Obout_TreeDB\cs_Tree.aspx.cs 76 18 Web_Obout_TreeDB

Error 2 The name 'litTreeView' does not exist in the current context
C:\0Daten\SchulungsBeispiele\Web_Obout_TreeDB\Web_Obout_TreeDB\cs_Tree.aspx.cs 77 9 Web_Obout_TreeDB

Es scheint mir, als ob der CodeBehind die ASPX Datei nicht kennen würde.



Schau mal in Visual Studio, ob die Codedatei überhaupt der ASPX zugeordnet
ist. Sieht man normalerweise u.a. daran, dass die cs Datei unterhalb der
ASPX geschachtelt ist (wenn im Projekt die Option "Verknüpfte Dateien
schachteln" aktiviert ist)

Ansonsten probiers mal mit einer neuen Datei, die ggfs. nicht von dem Obout
Kram erbt.



<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xht...">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Literal ID="litTreeview" runat="server" />
</div>
</form>
</body>
</html>



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
litTreeview.Text = "Hallo Welt";
}
}



Das funzt einwandfrei.

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen