Почему я не могу установить asp:Label текстовое свойство путем вызова метода в aspx файле?

Вы ищете:

if (typeof(mi) is MyType) { ... }

право?

9
задан abatishchev 2 October 2013 в 00:01
поделиться

3 ответа

Синтаксис = <% # ...%> - это синтаксис привязки данных , используемый для привязки значений для управления свойствами при вызове метода DataBind.

Вам необходимо для вызова DataBind - либо Page.DataBind для привязки всех элементов управления на странице, либо Label1.DataBind () для привязки только метки. Например, добавьте в обработчик события Page_Load следующее:

    if (!IsPostBack)
    {
        this.DataBind();
        // ... or Label1.DataBind() if you only want to databind the label
    }

Использование Text = '<% = GetMyText ("LabelText")%>', как предлагали другие, не сработает, как вы узнаете. Этот синтаксис унаследован от классического ASP. В некоторых случаях он может использоваться в ASP.NET для вставки динамических значений в статический HTML, но не может использоваться для настройки свойств серверных элементов управления.

12
ответ дан 4 December 2019 в 13:48
поделиться

Системный синтаксис, который вы ищете, это <% = %> # предназначен для привязки данных. Итак, ваш код должен выглядеть так:

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

РЕДАКТИРОВАТЬ: Этот ответ неверен

Я оставляю этот ответ здесь, потому что многие люди согласились со мной, что это действительно правильный ответ, но он не сработает. Эта строка кода приведет к следующему выводу HTML:

<span id="Label1"><%= GetMyText("LabelText") %></span>
3
ответ дан 4 December 2019 в 13:48
поделиться

Попробуйте следующее:

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

Изменить

Ага. Я был неправ. @ Джо был прав.


Тем не менее, ЭТО работает (и я не уверен, в чем разница):

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

CodeBehind:

protected string GetMyText(string input)
{
   return "Hello " + HttpUtility.HtmlEncode(input);
}
0
ответ дан 4 December 2019 в 13:48
поделиться
Другие вопросы по тегам:

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