2010-05-26 64 views
3

您好,因为我试图使用此代码,但由于某种原因它不起作用。真的需要帮助。问题在于,当我进入网站时,标签不会从“标签”更改名称。c#.net更改标签文本

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

    %> 
+0

你应该得到一个错误的加引号的字符串,它需要'文本='label'',这只是在一个复制错误问题帖子? – 2010-05-26 20:51:08

+1

您是否尝试在if语句中放置断点并运行调试器来检查设置Text属性的代码是否实际到达?您的标签中还有一个输入错误,因为您缺少一些引号,所以如果您直接从您的apsx页面复制代码,那么我很惊讶它实际编译并运行:-) – 2010-05-26 20:54:49

+1

您确定QueryString [ ID“]不为空? – jlp 2010-05-26 21:44:48

回答

2

您是否尝试过运行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; 
     } 
} 
5

你应该转换测试类型>>>> test.tostring();

变化的最后一行是:

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

如果我理解正确的话,你可能会遇到的问题,因为为了能够设置标签“文本”属性,你确实有使用“内容“财产。

所以不是:

Label output = null; 
     output = Label1; 
     output.Text = "hello"; 

尝试:

Label output = null; 
      output = Label1; 
      output.Content = "hello"; 
+1

'label'甚至没有'.Content'运算符... – Darrell 2014-09-25 15:23:20

1

老问题,但我有这个问题为好,这样分配的Text属性,调用Refresh()将更新后的文本。

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

当我有这个问题,我可以看到我的文字的只是其中的一部分,这是该解决方案:

务必将AutoSize属性设置为true。

output.AutoSize = true;

0
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"; 
    } 

这应该使它