动态填充<label text =“DYNAMIC”> DYNAMIC </label>后无法再次检索文本

时间:2010-01-27 16:29:50

标签: c# asp.net ajax

我正在动态填充label4.text ..我希望在dbms中检索它以进行更新

<asp:Label ID="Label4" runat="server"  Font-Bold="True" BackColor="#E3EAEB" 
 Height="25px" Width="300px"><%=Application.Get("topic").ToString()%></asp:Label>

在上面的代码中,我需要在text="<%=Application.Get("topic").ToString()%>标记中插入<label>,但由于语法错误或根本无法完成,这是不可能的。

我有一个链接按钮,点击链接按钮可以检索标签文本。

<asp:LinkButton ID="LinkButton2" runat="server" Font-Size="Smaller" 
 onclick="LinkButton2_Click">Post to Comment</asp:LinkButton>

protected void LinkButton2_Click(object sender, EventArgs e)
{
    string dumy=Label4.text.toString();
    // This is return a empty string..
}

请让我知道我哪里出错......或者还有其他办法吗... 由于我动态填写label4.text ..如何检索它?

2 个答案:

答案 0 :(得分:0)

在服务器端代码中尝试此操作

    protected override void OnPreRender(System.EventArgs e)
    {
        base.OnPreRender(e);
        if (!IsPostBack)
        {
            Label4.Text = Convert.ToString(Application.Get("topic")); //might be null?
        }
    }

然后你应该能够在你的LinkBut​​ton中拉出那个Label的文本(大写“Text”)

OR !!您可以直接将 dumy 字符串设置为Application.Get(“topic”)

如果您没有服务器端代码,我会做后一个建议,并在页面上做一个标签,如下所示:

<label style="font-weight: bold; background: #e3eaeb; height: 25px; width: 300px;"><%=Application.Get("topic").ToString()%></label>

(可能需要查看样式表,只需添加 class =“mylabelstyle”属性

答案 1 :(得分:0)

您可以使用表达式构建器,我们会一直这样做。

请参阅here

因此,在创建并注册表达式构建器之后,您将执行类似

的操作
<asp:label runat="server" Text='<%$ AppText : "something" %>' />