我想在我的网站上设置搜索功能。用户在文本框中键入一些信息并单击搜索按钮。单击搜索按钮后,使用文本框中的文本搜索数据库,并将结果显示在表格中。如果文本框中的文本与数据库中的一个结果完全匹配,而不是显示结果列表,页面将填充有关匹配结果的详细信息。
为了更容易准确地匹配结果,我想在每个“选择”结果的结果旁边添加一个按钮,用该结果的文本填充文本框,从而用详细信息填充页面。这就是我所拥有的。
单击搜索按钮后,在检查结果是否完全匹配后,我创建了一个包含结果和按钮的表:
for(int x=0; x < res_list.Length; x++)
{
TableRow newRow = new TableRow();
TableCell textCell = new TableCell();
TableCell buttonCell = new TableCell();
buttonCell.ID = "bc" + x;
Button cellButton = new Button();
cellButton.ID = "btn" + x;
textCell.Text = res_list[x];
textCell.Attributes.Add("Width","60%");
cellButton.Text = x.ToString();
// cellButton.OnClientClick = "NameClick"; This property refers to client-side scripts, which I am not using.
cellButton.Click += new EventHandler(NameClick);
buttonCell.Controls.Add(cellButton);
newRow.Cells.Add(firstCell);
newRow.Cells.Add(buttonCell);
myTable.Rows.Add(newRow);
}
我已经尝试过上面看到的 OnClientClick 方法和 Click 方法,两者都产生了相同的结果。
我的 NameClick 函数如下:
void NameClick(object sender, EventArgs e)
{
Button sendButton = (Button)sender;
int index = Int32.Parse(sendButton.Text);
SearchTextBox.Text = myTable.Rows[index].Cells[0].Text;
return;
}
我在 NameClick 函数的开头设置了一个断点,当我单击其中一个按钮时,它永远不会到达。为什么我的按钮没有调用这个函数?
编辑:如果可能的话,我想在不使用 JavaScript 的情况下完成此操作。