【问题标题】:on button click display a label在按钮上单击显示标签
【发布时间】:2025-12-08 02:50:01
【问题描述】:

我正在尝试实现一个简单的功能。基本上,它是一个搜索栏。在按钮上单击一个标签应该会出现一些预定义的文本+搜索词。这是我的aspx代码..

<section class="webdesigntuts-workshop">
    <form id="form1" runat="server">            
        <asp:TextBox type="search" name="search" id="sform" placeholder="What are you looking for?" runat="server" />       
        <asp:label id="searchResultLabel" runat="server" Visible="false" />     
        <button id="lookup" onclick="lookup_Click"  runat="server">Search</button>
    </form>
</section>

这是我的 aspx.cs 代码:

protected void lookup_Click(object sender, EventArgs e)
        {
            String query = sform.Text;
            if (!String.IsNullOrEmpty(query))
            {
                searchResultLabel.Text = "You are looking up the term" + query;
                searchResultLabel.Visible = true;
            }
        }

到目前为止,在按钮时钟上我没有看到任何事情发生。我添加了断点,但控制线似乎没有出现在按钮单击时的 .cs 代码中。

有什么想法吗?

【问题讨论】:

    标签: c# html asp.net button runatserver


    【解决方案1】:

    在常规 HTML &lt;button&gt; 元素上使用 onClick 将查找 JavaScript 事件,而不是您想要的代码隐藏/服务器端事件。

    要改为引用服务器端事件,您可以执行以下任一操作:

    1. 将您的 &lt;button&gt; 改为 &lt;asp:Button&gt;

    <asp:Button id="lookup" onclick="lookup_Click"  runat="server">Search</asp:Button>
    

    (注意:如果您在前端的任何位置通过 ID 引用此按钮,您需要添加属性ClientIdMode="static" 以确保在呈现元素时不会重写 ID。 )

    2.onclick="lookup_Click" 更改为onServerClick="lookup_Click"

    【讨论】:

      最近更新 更多