在按钮上单击显示标签

on button click display a label

我正在尝试实现一个简单的功能。基本上,它是一个搜索栏。单击按钮时,应出现一个标签,其中包含一些预定义的文本+搜索词。这是我的 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 代码中。

有什么想法吗?

在常规 HTML <button> 元素上使用 onClick 将查找 JavaScript 事件,而不是 code-behind/server-side你想要的活动。

要引用 server-side 事件,您可以执行以下任一操作:

1. 将您的 <button> 改为 <asp:Button>

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

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

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