Wiem, że to stare pytanie, ale miałem podobny problem i chciałem opublikować swoje rozwiązanie na wypadek, gdyby przyniosło korzyści komuś innemu. Napotkałem problem podczas nauki obsługi:
Próbowałem utworzyć stronę obsługującą AJAX (zajrzyj do samouczka na temat korzystania z obiektu ScriptManager, jeśli nie jesteś z tym zaznajomiony). Próbowałem uzyskać dostęp do elementów HTML na stronie za pomocą kodu C # i otrzymywałem błąd informujący o identyfikatorze wartości identyfikatora HTML „nie istnieje w bieżącym kontekście”.
Aby go rozwiązać, musiałem wykonać następujące czynności:
1. Uruchom na serwerze
Aby uzyskać dostęp do elementu HTML jako zmiennej w kodzie C #, w tagu elementu HTML w pliku aspx należy umieścić następującą wartość:
runat="server"
Niektóre obiekty w przyborniku w środowisku IDE programu Visual Studio nie uwzględniają automatycznie tej wartości po dodaniu do strony.
2. Ponownie wygeneruj automatycznie wygenerowany plik C #:
- W Eksploratorze rozwiązań w pliku aspx powinny znajdować się dwa pliki: * .aspx.cs i * .aspx.designer.cs. Plik projektanta jest generowany automatycznie.
- Usuń istniejący plik * .aspx.designer.cs. Upewnij się, że usuwasz tylko plik projektanta . Nie usuwaj drugiego, ponieważ zawiera kod C # strony.
- Kliknij prawym przyciskiem myszy nadrzędny plik aspx. Z wyskakującego menu wybierz Konwertuj na aplikację internetową .
Teraz element powinien być dostępny w pliku kodu C #.