Метка не доступна в представлении кода - PullRequest
0 голосов
/ 14 апреля 2011

Я набрал в теге метки runat = "server".он все еще недоступен.

Я скопировал этот ярлык из другой веб-формы.Я заметил, что при копировании ярлыков с других веб-форм они иногда недоступны.В чем проблема?

Ответы [ 3 ]

2 голосов
/ 14 апреля 2011

Проверьте ваш дизайнерский код и посмотрите, есть ли он там. Если это не ваша разметка и дизайнер не синхронизированы, если, конечно, у вас нет элемента управления в шаблоне. Недавно я столкнулся с этой проблемой и исправил ее, просто добавив литеральный элемент управления, заставляя конструктор выполнить регенерацию, а затем удалив литерал.

0 голосов
/ 14 апреля 2011

Это потому, что в вашем коде класса отсутствует ссылка на этот элемент управления. Вы предполагаете, что у вас нет .designer с вашим классом страниц, верно? Затем вы должны «отобразить» этот элемент управления вручную

Вы можете определить переменную класса, например Label myLabel, а затем в Page_Load вам придется использовать функцию myLabel = Find('myLabelId'), чтобы отобразить эту метку. (Это может быть не на 100% точный синтаксис).

Редактировать. Если у вашего ярлыка есть ID = "Label2", код должен выглядеть следующим образом:

Label _label2;

Page_Load(  
// some code
_label2 = (Label)FindControl("Label2");
)
0 голосов
/ 14 апреля 2011

из того, что вы дали здесь, я вижу, вы набрали runat = server без кавычек.

попробуйте добавить цитаты и повторите проверку.

runat="server"

полный пример

<asp:label runat="server" ID="Label1" >Label1</asp:Label>
...