Теги сервера ASP.NET отображаются в клиентском HTML, а не значения?

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

Этот код на стороне сервера:

<asp:Label ID="Label1" runat="server" Text='<%= DateTime.Now.ToString() %>' />;

Рендерит как это в клиентском HTML, отправленном в браузер:

<span id="Label1"> <%= DateTime.Now.ToString()></span>;

И он отображается как большой жирный пустое пространство, и ничего не выводится на интерфейс.

Если я изменю источник ASP на использование символа "#" для определения в качестве синтаксиса привязки данных, то выводимый в браузер вывод будет:

<span id="Label1"></span>


РЕДАКТИРОВАТЬ:

Задание текста метки было просто упрощенным объектом для того, чтобы задать вопрос. В реальной жизни я устанавливаю атрибут CssClass, который не позволяет мне использовать обходной путь, предложенный некоторыми. Я хотел установить открытое свойство и динамически обновлять все элементы управления при загрузке страницы.

В идеале, так как у меня уже есть все элементы управления, изложенные на странице aspx. Просто хочу добавить атрибут. Я хотел бы иметь:

<asp:textbox ID='MyTxtBox1' CssClass='<% strVal1 %>' />  
<asp:textbox ID='MyTxtBox2' CssClass='<% strVal1 %>' />  
<asp:textbox ID='MyTxtBox3' CssClass='<% strOtherVal %>' />  
<asp:textbox ID='MyTxtBox4' CssClass='<% strVal1 %>' />  

Теперь мне кажется, что мне нужно повторить все мои (более 250) элементов управления в коде позади блока кода, который выглядит следующим образом:

MyTxtBox1.CssClass=strVal1  
MyTxtBox2.CssClass=strVal1  
MyTxtBox4.CssClass=strVal1  

MyTxtBox3.CssClass=strOtherVal  

2 ответа

Установите значение Label1.Text = вместо того, чтобы пытаться использовать атрибуты сервера на стороне сервера.

Я считаю, что это может не сработать в скомпилированном веб-приложении, поскольку оно не интерпретируется во время выполнения, как C# "веб-сайт". Тем не менее, я смог заставить его работать, оборачивая метку вокруг значения:

<asp:Label runat="server"><%= DateTime.Now.ToString() %></asp:Label>
Другие вопросы по тегам