簡體   English   中英

javascript 無法從 asp.net 更改簡單的標簽文本

[英]javascript is not working from asp.net to change simple label text

我現在已經通過了 4 小時的帖子。 我無法讓這個 js 代碼工作。 這是最新的迭代,我嘗試了很多組合。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebFormRedisTest.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

<script type="text/javascript">

    function updateText(strData) {
        debugger;
        document.getElementById("<%=lbl.ClientID%>").innerHTML(strData);
    }

</script> 
</head>
<body>
    <form id="form1" runat="server">
     <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Test_OnClientClick"/>

        <div>
        </div>
        <asp:Label ID="lbl" runat="server" Text="Label" ClientIDMode="Static"></asp:Label>
    </form>
</body>
</html>

public void Test_OnClientClick(object sender, EventArgs e)
        {
            Console.WriteLine("test");
            ScriptManager.RegisterStartupScript(this, this.GetType(), "updateText", "updateText('test');", true);
        }

我不認為innerHTML() 是一個函數。 我認為你必須寫這樣的東西:

document.getElementById("<%=lbl.ClientID%>").innerHTML = strData;

更新:

我開始了一個快速的 webforms 項目,這就是我的腳本標簽部分的樣子:

<script type="text/javascript">

    function updateText(strData) {
        debugger;
        document.getElementById("lbl").innerHTML = strData;
    }

</script>

后端就像你的一樣。

public void Test_OnClientClick(object sender, EventArgs e)
{
    ScriptManager.RegisterStartupScript(this, this.GetType(), "updateText", "updateText('test');", true);
}

暫無
暫無

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

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