<%=不会在客户端显示想要的字符串

时间:2011-07-07 08:19:27

标签: asp.net string user-controls

我有这行标记

<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>

表示未填充任何字符串 数据的ToolTipText = “LT;%= this.CashOutTooltip%&gt;” 中

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

您无法在服务器控件的标记中使用此类评估。

最佳解决方案是在代码隐藏中执行此操作,例如,在Page.Load事件期间,但不是给你一个样本,我认为使用本地化会更好。

您可以通过以下链接开始学习更多内容:

答案 1 :(得分:0)

<%= expressions无法用作properties,您必须使用<%# expressions

由于在<%# expressions时评估了DataBind(),如果您使用了DataBind();,那么您需要在PreRenderComplete中调用 protected void Page_PreRenderComplete(object sender, EventArgs e) { DataBind(); } 方法,如..

{{1}}

答案 2 :(得分:0)

解决方案是: 一个。使用&lt;%#而不是&lt;%= 湾删除&lt;%= this.CashOutTooltip%&gt;中的“this” (不知道为什么?因为“this”与页面有关而不是代码中的类的实例behond?)