C# .NET 如何改变标签文字

7

您好,我尝试使用这段代码,但出现了一些问题。真的需要帮助解决。问题是当我进入网站时,标签的名称没有从“label”更改。

<asp:Label ID="Label1" runat="server" Text="label"></asp:Label>


<% 
    Label1.Text = "test";
    if (Request.QueryString["ID"] != null)
    {

        string test = Request.QueryString["ID"];
        Label1.Text = "Du har nu lånat filmen:" + test;
    }

     %>

你应该会收到一个未引用字符串的错误,它需要是 Text='label',这只是问题帖子中的复制错误吗? - Nick Craver
1
你尝试在if语句中设置断点并运行调试器来检查你的代码是否真正到达了设置Text属性的部分吗?此外,在你的asp:Label标签中,Text属性存在一个拼写错误,缺少一些引号,所以如果你直接从aspx页面复制代码,我很惊讶它竟然能编译和运行 :-) - Jakob Christensen
1
你确定 QueryString["ID"] 不是空的吗? - jlp
6个回答

9

你需要将测试类型转换为字符串,使用以下代码:

test.ToString();

Label1.Text = "Du har nu lånat filmen:" + test.tostring();

4

虽然这个问题有点老了,但我也遇到过类似的问题。在分配文本属性后,调用Refresh()会更新文本。

Label1.Text = "Du har nu lånat filmen:" + test;
Refresh();

3
你尝试在Page_Load()方法中运行代码了吗?
protected void Page_Load(object sender, EventArgs e) 
{

         Label1.Text = "test";
        if (Request.QueryString["ID"] != null)
        {

            string test = Request.QueryString["ID"];
            Label1.Text = "Du har nu lånat filmen:" + test;
        }
}

1
  Label label1 = new System.Windows.Forms.Label
//label1.Text = "test";
    if (Request.QueryString["ID"] != null)
    {

        string test = Request.QueryString["ID"];
        label1.Text = "Du har nu lånat filmen:" + test;
    }

   else
    {

        string test = Request.QueryString["ID"];
        label1.Text = "test";
    }

这应该会让它

1
如果我理解正确,您可能遇到了问题,因为为了能够设置标签的“text”属性,实际上必须使用“content”属性。因此,不是:
  Label output = null;
        output = Label1;
        output.Text = "hello";

尝试:
Label output = null;
            output = Label1;
            output.Content = "hello";

0
当我遇到这个问题时,我只能看到我的文本的一部分,以下是解决方案:
确保将AutoSize属性设置为true。 output.AutoSize = true;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接