2011-01-06 10 views
0

Wie editor1 als Parameter zu übergeben:Fehler in asp.net C#

In meinem aspx.cs ich einen Aufruf an eine Funktion geben werde, die für das gleiche Projekt in CS-Datei ist wie folgt:

protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    DropDown abs = new DropDown(); 
    abs.dd(this.DropDownList2, this.DropDownList3); 
} 

.CS Datei Code

public void dd(DropDownList DropDownList2, DropDownList DropDownList3) 
    { 
     //My code which contains DropDownList2 DropDownList3 and Editor1 
    } 

Der Fehler, ich bin immer ist:

Error 1 The name 'Editor1' does not exist in the current context  

Die Art, wie ich DropDownList2 und DropDownList3 übergeben habe, kann Editor1 nicht übergeben (Es ist eine Ajax-Kontrolle). Wie überlasse ich es?

+0

Was ist Editor1 und warum willst du es weitergeben (was willst du damit machen)? Könnten Sie stattdessen den "Wert" dieses Steuerelements übergeben? –

+0

Wie erstellen Sie Editor1? – MarkXA

+0

Editor1 ist ein Ajax-Steuerelement. http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/HTMLEditor/HTMLEditor.aspx – Ishan

Antwort

0

Wenn aus welchem ​​Grund auch immer Ihre Steuerung von dem Designer eine Trägereigenschaft nicht zugewiesen werden, können Sie einen Verweis auf sie in Ihrem Event-Handler so erhalten:

var editor1 = (AjaxControlToolkit.HTMLEditor.Editor)FindControl("Editor1"); 

und übergeben Sie diese als zusätzliche Parameter die dd-methode:

public void dd(
    DropDownList DropDownList2, 
    DropDownList DropDownList3, 
    AjaxControlToolkit.HTMLEditor.Editor Editor1) 
1

In ASP.NET einige Zeit in der Vergangenheit habe ich solche Dinge erlebt, als ich Steuerelemente in ASPX deklariert und aus irgendeinem Grund waren sie nicht zugänglich in Code, in solchen Situationen habe ich nur diese schlechte Seite umbenannt, erstellt neue Seite mit dem gleichen Code, es hat geholfen. Aber nachdem, wenn ich zu MVC geschaltet werde, fand ich, dass es solche Situationen nicht gibt :)

Schauen Sie in der Datei "yourpagesen.aspx.designer.cs", wenn es keinen Kontrollnamen gibt, den Sie brauchen, in Ihrem Falls es "Editor1" heißt, heißt es, dass es im Code nicht verfügbar ist, also müssen Sie es erneut erstellen, einige Male Erholung nur von diesem Steuerelement wird nicht helfen, es erscheint immer noch nicht in ".aspx.designer.cs "In diesen Fällen müssen Sie die Seite neu erstellen.