我正在尝试实现一个简单的功能。基本上,它是一个搜索栏。在按钮上单击标签应显示一些预定义文本+搜索词。这是我的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代码。
有什么想法吗?
答案 0 :(得分:1)
在常规HTML onClick
元素上使用<button>
会查找 JavaScript 事件,而不是您想要的代码隐藏/服务器端事件。
要引用服务器端事件,您可以执行以下任一操作:
1。将您的<button>
改为<asp:Button>
。
<asp:Button id="lookup" onclick="lookup_Click" runat="server">Search</asp:Button>
(注意:如果您在前端的任何位置通过ID引用此按钮,则您需要添加属性ClientIdMode="static"
以确保不会重写ID何时呈现元素。)
2。将onclick="lookup_Click"
更改为onServerClick="lookup_Click"
。