Ich weiß, dass dies eine alte Frage ist, aber ich hatte ein ähnliches Problem und wollte meine Lösung veröffentlichen, falls es jemand anderem zugute kommen könnte. Ich bin auf das Problem gestoßen, als ich gelernt habe, Folgendes zu verwenden:
Ich habe versucht, eine AJAX-fähige Seite zu erstellen (lesen Sie ein Tutorial zur Verwendung des ScriptManager-Objekts, wenn Sie damit nicht vertraut sind). Ich habe versucht, über den C # -Code auf die HTML-Elemente auf der Seite zuzugreifen, und es wurde eine Fehlermeldung angezeigt, dass der Bezeichner für den HTML-ID-Wert "im aktuellen Kontext nicht vorhanden" ist.
Um es zu lösen, musste ich Folgendes tun:
1. Führen Sie den Server aus
Um auf das HTML-Element als Variable im C # -Code zuzugreifen, muss der folgende Wert in das HTML-Element-Tag in der Aspx-Datei eingefügt werden:
runat="server"
Einige Objekte in der Toolbox in der Visual Studio-IDE enthalten diesen Wert nicht automatisch, wenn sie zur Seite hinzugefügt werden.
2. Generieren Sie die automatisch generierte C # -Datei neu:
- Im Projektmappen-Explorer sollten sich unter der Aspx-Datei zwei Dateien befinden: * .aspx.cs und * .aspx.designer.cs. Die Designer-Datei wird automatisch generiert.
- Löschen Sie die vorhandene Datei * .aspx.designer.cs. Stellen Sie sicher, dass Sie nur die Designer- Datei löschen . Löschen Sie den anderen nicht, da er Ihren C # -Code für die Seite enthält.
- Klicken Sie mit der rechten Maustaste auf die übergeordnete Aspx-Datei. Wählen Sie im Popup-Menü die Option In Webanwendung konvertieren .
Jetzt sollte das Element in der C # -Code-Datei zugänglich sein.