Почему <% = %> работает в одной ситуации, но не в другом

Проверьте Время Joda пакет. Они делают дату RFC 3339, форматирующую намного легче.

Пример Joda:

DateTime dt = new DateTime(2011,1,2,12,45,0,0, DateTimeZone.UTC);
DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
String outRfc = fmt.print(dt);

18
задан Community 23 May 2017 в 11:48
поделиться

6 ответов

Использование <% =%> равносильно размещению Response.Write ("") на вашей странице. При этом:

<asp:Label ID="Label1" runat="server"><%= GetMyText("LabelText") %></asp:Label>

Процессор ASP.NET оценивает элемент управления, а затем при визуализации выводит его содержимое и вызывает Response.Write , где он видит <% = .

В этом примере:

<asp:Label ID="Label1" runat="server" Text='<%= GetMyText("LabelText") %>' />

Вы не можете использовать Response.Write ("") в текстовом атрибуте, потому что он не возвращает строку. Он записывает свой вывод в буфер ответа и возвращает void.

Если вы хотите использовать синтаксис серверного тега в разметке ASP.NET, вам нужно использовать <% #%> . Эта комбинация данных разметки связывает значение в тегах. Чтобы это сработало, вам необходимо вызвать DataBind () в методе Load () вашей страницы, чтобы он заработал.

43
ответ дан 30 November 2019 в 06:07
поделиться

Поскольку обе они являются инструкциями на стороне сервера - второй фрагмент кода эквивалентен:

<asp:Label ID="Label1" runat="server" Text='Response.Write(GetMyText("LabelText"))' />
5
ответ дан 30 November 2019 в 06:07
поделиться

<% = GetMyText ("LabelText")%> в основном означает

Response.Write (GetMyText ("LabelText"));

Здесь все в порядке. <% = GetMyText ("LabelText")%>

Однако, когда вы используете это:

<asp:Label ID="Label1" runat="server" Text='<%= GetMyText("LabelText") %>' />

Это в основном означает:

Label1.Text = Response.Write (GetMyText ("LabelText"));

который неверное утверждение.

5
ответ дан 30 November 2019 в 06:07
поделиться

Неверный формат:

<asp:Label ID="Label1" runat="server" Text='<%= GetMyText("LabelText") %>' />

Правильный формат с использованием ресурсы:

<asp:Label ID="Label1" runat="server" Text='<%$ Resources:Resource, MyText %' />
2
ответ дан 30 November 2019 в 06:07
поделиться

Чтобы он работал во втором случае, вам нужно, чтобы это выглядело следующим образом:

<asp:Label ID="Label1" runat="server" Text="<%# GetMyText("LabelText") %>" />

И тогда метка1 должна быть привязана к базе данных.

1
ответ дан 30 November 2019 в 06:07
поделиться

Сделайте это в серверных элементах управления, если у вас есть LabelText в файле глобального ресурса:

<asp:Label ID="Label1" runat="server" Text="<%$ Resources: resourceName, LabelText %>" />
1
ответ дан 30 November 2019 в 06:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: