2009-07-08 7 views
0

ich RadGrid bin mit Daten aus verschiedenen XML-Dateien gesammelt angezeigt werden soll. Ich habe ein EditFormTemplate definiert, wo zusätzliche Daten angezeigt/bearbeitet werden können. Wenn ich jetzt Steuerelemente in diese Vorlage hinzufüge, fügt der Designer der codebehind-Datei designer.cs nicht das erforderliche Steuerelement hinzu. Warum?Visual Studio 2008 nicht die Kontrolle zu Designer-Datei hinzufügen, wenn sie in ein Telerik RadGrid EditFormTemplate Zugabe

Edit: Am genauesten habe ich eine asp: DropDownList, die ich mit einem vorgewählten Wert initialisieren möchte. Ich habe versucht, dies in der PageLoad des CodeBehind, und sogar in einem separaten EventHandler, dass ich an onInit und onLoad des Steuerelements gebunden. Beide werden aufgerufen, aber für den Codebehind scheint die Kontrolle nicht zu existieren.

I verwendet Findcontrol und warf das Ergebnis in ein Dropdownlist-Objekt, aber dies scheint null zurückzukehren.

+0

Fügt der Designer dem Designer die Steuerung hinzu? Ist dies der Fall, fügen Sie einen hinzu, speichern Sie, schließen Sie alle Dateien und öffnen Sie die Seite im Designer erneut. Überprüfen Sie, ob das hinzugefügte Steuerelement vorhanden ist. –

+0

Meinst du, dass Sie nicht vom Codebehind auf die Steuerung zugreifen können? In diesem Fall müssen Sie FindControl verwenden. –

+0

@John Saunders, ja das Steuerelement wird in der Entwurfsansicht hinzugefügt. Es wird jedoch nicht zur partiellen Klassendatei hinzugefügt, die vom Designer erstellt wurde. Das Schließen und Wiedereröffnen löst das nicht. Der Code im aspx wird übrigens auch generiert. @Sean Molam, genau. Das klang sehr gut, aber das erzeugt eine andere * System.NullReferenceException: Objektreferenz, die nicht auf eine Instanz eines Objekts gesetzt ist. "* Was ich hasse, seit ich angefangen habe, mit ASP.NET zu programmieren. –

Antwort

0

einen Wert für eine Dropdownlist Vorauswahl wird wie folgt durchgeführt:
<asp:DropDownList SelectedValue='<%# Bind("codeBehindVariable") %>' runat="server" ID="id" />
Ich frage mich nur, warum ich diese Eigenschaft von asp verpasst: Dropdownlist, wenn ich nach einer Lösung suchen.

0

Ist das eine Website (erstellt mit File-> Neuer Website) oder eine Web Application Project (erstellt mit File-> New Project)? Auf einer Website wird der partiellen Klassendatei nichts hinzugefügt. Alles wird zur Laufzeit durch Magie gebaut.

Wird das Raster beim Öffnen der Seite in einem Browser nicht angezeigt?

+0

Es ist ein Projekt, und die RadGrid nicht auf die Teilklassendatei hinzugefügt bekommen. ich die RadGrid im Codebehind zugreifen können. auch zeigt sich das Gitter, und zeigt die Daten an. –

+0

ich jetzt wach bin. Sie sprechen über Kontrollen in einer Vorlage Die Vorlage wird nur zur Laufzeit instanziiert Es bedeutet nicht, dass die Steuerelemente jemals in einer Quelldatei vorhanden sein sollten Versuchen Sie dies mit einem einfachen Repeater-Steuerelement, und Sie werden das gleiche sehen –

+0

Guten Morgen :) So das löst meine Frage, aber natürlich bedeutet das, dass ich immer noch keinen vorgewählten Wert für die DropDownList haben kann. Es muss aber einen anderen Weg geben, richtig? –