<% = не будет отображать желаемую строку на стороне клиента - PullRequest
0 голосов
/ 07 июля 2011

У меня есть эта строка разметки

<a id="cashout_btn" href="#" data-tooltiptext="<%=this.CashOutTooltip%>" runat="server">

        <span id="cashout_txt" class="cashout_txt" runat="server">        150</span> 

</a>

Но на стороне клиента я вижу:

<a href="../Controls/NetworkPAU/#" id="networkPauControl_cashoutControl_cashout_btn"  

data-tooltiptext="&lt;%=this.CashOutTooltip%&gt;" 

data-tooltiptype="simpleTip"><span id="networkPauControl_cashoutControl_cashout_txt" class="cashout_txt">
            150</span> </a>

То есть ни одна строка не была заполнена в data-tooltiptext = "<% = this.CashOutTooltip%> "

Есть идеи?

Ответы [ 3 ]

0 голосов
/ 07 июля 2011

<%= expressions нельзя использовать как properties, вместо этого нужно использовать <%# expressions.

Поскольку <%# expressions оцениваются во время DataBind(), если вы использовали это, вам нужно вызвать метод DataBind(); в PreRenderComplete, например ..

 protected void Page_PreRenderComplete(object sender, EventArgs e)
 {
  DataBind();
 }
0 голосов
/ 08 июля 2011

Решение было: а. используя <% # вместо <% = б. удаление «этого» в <% = this.CashOutTooltip%> (Не уверен, почему? Потому что «this» относится к странице, а не к экземпляру класса в приведенном ниже коде ??)

0 голосов
/ 07 июля 2011

Вы не можете использовать такие оценки в разметке серверных элементов управления.

Лучшим решением было бы сделать это с выделенным кодом, например, во время события Page.Load, но вместо того, чтобы дать вам образецчто, я бы сказал, что использование локализации было бы лучше для этого случая.

Вы можете узнать больше, перейдя по этой ссылке:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...