我有一個文本框在我用作搜索框的主頁上。當用戶按下Enter時,我想用url參數中的搜索條件重定向到其他頁面。response.redirect在page_load的頁面上不起作用
麻煩它似乎只對沒有自己的page_load潛艇的頁面有效。
<div id="search-bar">
<asp:TextBox ID="txtSearch" runat="server" Text=""></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" style="display:none"/>
</div>
在母版的Page_Load:
txtSearch.Attributes.Add("onKeyDown", "do_search(this)")
javascript函數,這樣,當用戶按下輸入調用btnSearch_Click
function do_search() {
if (event.keyCode == 13) {
var invisibleButton = document.getElementById('<%=btnSearch.ClientID %>');
__doPostBack(invisibleButton.name, '');
}
}
Protected Sub btnSearch_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSearch.Click
If Trim(txtSearch.Text) <> "" Then
Response.Redirect("viewall.aspx?q=" & txtSearch.Text, True)
End If
End Sub
它僅適用於不具有的Page_Load頁面即response.redirect不會在帶有page_load的頁面上觸發。
任何想法?
設置DefaultButton屬性只需將JavaScript添加到頁面來執行form.submit。我很高興它的工作,但window.location方法也必須工作,否則我會放棄喝酒。 – Icarus