簡體   English   中英

從C#代碼后面更改asp:Label文本

[英]Change asp:Label text from C# code behind

我已經嘗試了一個小時左右; 只是似乎無法弄清楚。 我在aspx頁面上有一個asp:Button ,它需要完成幾個功能,其中之一是更改asp:Label的文本。 這似乎應該很簡單,其他在線帖子表明我正在正確解決問題,但是...

問題很簡單,但是卻使我喪命。 為了進行調試/故障排除,我將代碼剝離了非常基本的內容:

protected void Page_Load(object sender, EventArgs e)
{
    allValidationMsg.Text = "Original text";
}

protected void btnRegister_Click(object sender, EventArgs e)
{
    allValidationMsg.Text = "Text changed";
}

單擊該按鈕時,沒有任何反應。 我敢肯定,這很簡單,我很想念。

更新:

<asp:Label id="allValidationMsg" runat="server" height="22px" ForeColor="Red"></asp:Label>

<asp:Button class="navbutton" ID="btnRegister" runat="server" 
                    Text="Register User" OnClick="btnRegister_Click" />

我認為當您單擊按鈕時,將再次調用Page_Load,並且保留原始文本。 嘗試這個

protected void Page_Load(object sender, EventArgs e)
{
    if(!Page.IsPostBack)
       allValidationMsg.Text = "Original text";
}

除此之外,我假設您在標記中注冊了按鈕的事件處理程序,因為我無法在代碼的任何地方看到它

<asp:Button id="Button1" runat="server" OnClick="btnRegister_Click" />

可能您忘記了將按鈕單擊綁定到處理程序。

您可以在后台代碼中執行以下操作:

mybutton.Click+=btnRegister_Click;

或在aspx中:

<asp:Button id="Button1"
       Text="Click here for greeting..."
       OnClick="btnRegister_Click" 
       runat="server"/>

解決了; 該問題似乎與使用CompareValidator有關。 真的不明白為什么,但是當這個驗證器被注釋掉時,問題就解決了。 有趣的是,同一頁面上的RequiredField和RegularExpression驗證程序不會引起任何問題。

我可以看到您在標記中寫了“ onclick”而不是“ OnClick”(大小寫)。 可能是問題的原因。

UPDATE1您可以嘗試這樣做(檢查回發是否有效):

protected void Page_Load(object sender, EventArgs e)
{
    if(!Page.IsPostBack)
    {
       allValidationMsg.Text = "Original text";
    } 
    else
    {
       allValidationMsg.Text = "After postback";
    }
}

按下按鈕后文字是否改變?

UPDATE2另外,請嘗試對文本進行一些更改,以了解是否確實部署了新版本(以排除強大的緩存問題)。

UPDATE3您可以嘗試在代碼隱藏中進行綁定(並將其從aspx中刪除)。

嘿,我想我知道這是什么。 在您的標記中,您的標簽看起來像這樣嗎?

<asp:Label ID="Label1" runat="server" >Some text</asp:Label>

您需要在標記中添加以下內容:

<asp:Label ID="Lable1" runat="server" text ="some text"></asp:Label>

我曾經發生過這種情況。 如果將標記更改為該標記。 它應該工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM