嗯,我正试图让ASP.NET URL看起来像前面解释的那样用户友好
in this question
asp:textbox
和
asp:button
在上面。我也设置了
onclientclick
属性调用JS函数,该函数通过设置
windows.location.href
. 在Firefox中运行良好,但在IE和Opera中,浏览器首先导航到智能url,然后关闭连接并使用asp.net表单操作发送回发。
我试图用html按钮而不是服务器按钮来解决这个问题。它可以工作,但问题是它不能设置为asp.net表单的默认值。所以“如果用户点击它,它就会工作。”。但是,如果用户在表单处于活动状态时只按enter键,那么表单将执行其操作,因此按钮不会被按下,JSURL重写也不会发生。那么我该如何解决这个问题呢?
我的JS看起来像这样:
function searchRedirect() {
var query = $get('colSearch');
window.location.href = 'colSearch?q=' + query.value;
return false;
}
在search.aspx中我有
<form id="MainForm" runat="server" method="get">
<asp:TextBox id="colSearch" runat="server" Width="615px" CssClass="searchLine"></asp:TextBox>
<input id="Button1" type="button" value="Search!" onclick="searchRedirect();" class="search" />
我也试过了
asp:按钮
:
<form id="MainForm" runat="server" method="get" defaultbutton="submitReqBtn">
<asp:TextBox id="colSearch" runat="server" Width="615px" CssClass="searchLine"></asp:TextBox>
<asp:Button runat="server" Text="Search!" ID="submirReqBtn"
onclientclick="searchRedirect();" CausesValidation="False"
EnableViewState="False" UseSubmitBehavior="False"></asp:Button>
</form>