在标签文本或类似元素中使用标记

时间:2014-01-23 12:01:21

标签: c# asp.net .net

我有

<asp:Label ID="lbl_ReadOnlyFld" runat="server"></asp:Label>&nbsp;&nbsp;&nbsp;<%=GetGuiLocalString("lbl_ReadOnlyFldDescr")%>

我需要某个元素中的文本,以便我可以访问它:

例如:

<asp:Label ID="lbl_InputFld" runat="server"></asp:Label><asp:Label ID="lbl_InputFldDescr" runat="server" text='&nbsp;&nbsp;&nbsp;<%= GetGuiLocalString("lbl_InputFldDescr")%>'></asp:Label>

它只是给我里面的东西''......任何帮助都会受到赞赏。

问候。

2 个答案:

答案 0 :(得分:0)

&lt;%=意味着直接在页面上输出内容,不能在其他控件中使用。 您应该使用&lt;%#并数据绑定控件或在后面的代码中设置文本。其他东西应该在那些标签里面,所以它会是:

&lt; asp:Label ID =&#34; lbl_InputFldDescr&#34; RUNAT =&#34;服务器&#34; text =&#39;&lt;%#&#34;&amp; nbsp;&amp; nbsp;&amp; nbsp;&#34; + GetGuiLocalString(&#34; lbl_InputFldDescr&#34;)%&gt;&#39; /&GT;

然后lbl_InputFldDescr.DataBind();在你的代码背后的某个地方(如果你还没有对页面进行数据绑定或某些操作)。

答案 1 :(得分:0)

ASPX:

<asp:Label ID="lbl_InputFld" runat="server">my name is Jhon</asp:Label>
<asp:Label ID="lbl_InputFldDescr" runat="server" text='<%# "&nbsp;&nbsp;&nbsp;" + GetGuiLocalString("lbl_InputFldDescr")%>'></asp:Label>

代码背后:

protected void Page_Load(object sender, EventArgs e)
{
        DataBind();           
}
public string GetGuiLocalString(string id)
{
        string s = "hello";
        Label lbl = (Label)Form.FindControl(id);
        if(lbl!=null)
        {
            if ( ! string.IsNullOrEmpty(lbl.Text))
                s = lbl.Text;
        }            
        return s;
}