gpt4 book ai didi

c# - 在asp.net中将查询字符串样式的信息放在位置栏中的正确方法

转载 作者:行者123 更新时间:2023-12-04 00:27:04 26 4
gpt4 key购买 nike

我正在开发一个 asp.net 4.0 应用程序。该网站的功能之一是允许用户在数据库中搜索内容。完成的页面如下所示:

<asp:Panel ID="pnlSearch" runat="server" DefaultButton="lnkSearch" cssclass="searchbar box">
<span id="searchFor"><strong>Search for</strong></span>
<asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
<asp:LinkButton ID="lnkSearch" runat="server" Text="Search" onclick="lnkSearch_Click"></asp:LinkButton>
</asp:Panel>

lnkSearch_Click 对数据库执行查询,然后将结果绑定(bind)到 asp:Repeater

这一切都有效,但有一个问题:用户的 URL 没有更改,因此用户无法保存查询以供以后使用,也无法链接到他们的 friend 。

我可以通过做一些类似的事情来解决这个问题:

<script>
function doSearch() { location.href='~/defaultpro.aspx?search='+escape($('txtSearch').value);
</script>
<a ID="lnkSearch" href="javascript:void(0);" Text="Search" onclick="doSearch();" />

但这感觉像是我特意避免使用 asp.net 提供的工具。有更好的方法吗?

最佳答案

最好的方法是将方法设置为 get 的表单:

<form method="get">

但是 ASP.NET 需要一个包含所有控件的巨大窗体,因此它不适合您

实现此目的的另一种方法是为搜索按钮的单击事件创建事件处理程序:

protected void SearchButton_Click(object sender, EventArgs e){
Response.Redirect(Request.RawUrl + "?search=" + Server.UrlEncode(txtSearch.Text));
}

并绑定(bind)PageLoad事件中的所有数据

关于c# - 在asp.net中将查询字符串样式的信息放在位置栏中的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6996021/

26 4 0