2017-03-04 5 views
4

Ich arbeite auf ASP.net-Website, in einem meiner Formulare habe ich HTML-Steuerelement hinzugefügt, während mit diesem Steuerelement aus dem Code hinter Datei habe ich Fehler, die ich kann ' ich verstehe nicht .Sie können die Navigationsleiste verwenden, um contex zu wechseln

<table style="width: 100%;" class="table-responsive"> 
      <tr> 
       <td> 
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
        <input id="UserName" runat="server" type="text" class="form-control" placeholder="Username" required="required"/> 
       </td> 
      </tr> 
      <tr> 

Code-Behind-Datei:

protected void Page_Load(object sender, EventArgs e) 
{ 

} 
public void signupData() 
{ 
    string s = UserName.text; 
} 

Fehler Bild

enter image description here

+0

Ich habe den gleichen Fehler !!!? –

+0

@HishamKaram Ich habe ein wenig Licht auf die Ursache dieses Problems gebracht - siehe neue Antwort unten – Radderz

Antwort

0

You can use the navigation bar to switch context ist kein Fehler. Es zeigt nur an, dass Sie eine navigation bar verwenden können, um Ihren Code in anderem Kontext anzuzeigen.

Wenn Sie eine Klasse in zwei Projekten verwenden (mithilfe einer verknüpften Datei), können Sie die Leiste verwenden, um Code in ProjectA oder ProjectB anzuzeigen.

1

Diese Meldung kann auftreten, wenn zwei Front-End-Dateien auf eine einzelne Back-End-Klasse verweisen.

Zum Beispiel könnten Sie zwei Front-End-Dateien genannt haben: signup.ascx und signupLight.ascx

Diese Dateien verweisen dann eine gemeinsame Back-End-Code-Datei: signup.ascx.cs

Das Problem entsteht, wenn Sie ein Steuerelement einen der hinzufügen die Frontend-Dateien, aber nicht die anderen.

z.B. Die UserName HtmlInputText Kontrolle in Ihrem Beispiel könnte in signup.ascx aber nicht signupLight.ascx existieren, so dass, wenn Sie es in signup.ascx.cs referenzieren, es zeigt, dass eine der Referenzen fehlt.

Ein anderes Beispiel kann auftreten, wenn Sie eine Sicherungskopie der Frontend-Datei erstellen, indem Sie eine Kopie mit einem anderen Dateinamen erstellen, aber nicht die Dateierweiterung .exclude hinzufügen. Dies wird dann den Versuch stören, neue Frontend-Steuerelemente im Backend zu referenzieren, da das Codefile-Tag immer noch auf den Live-Code dahinter zeigt.

Leider hebt Visual Studio dies hervor, da der Kontext gewechselt werden muss und die Namen von zwei identischen Projekten anstelle der eigentlichen Datei angezeigt werden. Daher müssen Sie möglicherweise in Ihrem Projekt nach dem Backend-Dateinamen suchen die aktiven Frontend-Dateien, auf die sie verweisen.

0

Visual Studio gab mir den gleichen Fehler. Stellen Sie sicher, dass keine Frontend-Dateien auf dieselben Backend-Dateien verweisen.

Für mich war das Update CodeFile zu in der zugehörigen aspx.cs-Datei geändert. Das hat den Fehler behoben.

Verwandte Themen