好吧,我正在努力使ASP.NET网址看起来很人性化,就像它解释了in this question一样。所以我创建了一个ASP.Net表单,并在其上放置了asp:textbox
和asp:button
。我还设置onclientclick
属性来调用通过设置windows.location.href
导航到智能URL的JS功能。在Firefox中,它运行良好,但在IE和Opera中,浏览器首先导航到智能url,然后它关闭连接并使用asp.net表单操作发送回发。如何将html按钮设置为ASP.Net窗体的默认值?
我试图用html按钮来代替服务器来解决它。它的工作原理,但问题是它不能被设置为asp.net窗体的默认值。所以'如果用户点击它,它会完成它的工作。但是,如果用户只是在表单处于活动状态时按下Enter键,表单才会执行其操作,所以按钮不会被按下,并且不会发生JS URL重写。那我该如何解决这个问题呢?
我的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:button
:
<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>
我试着用'asp:button' - 仍然是浏览器关闭连接。我在问题中添加了示例代码 - 可能是我在代码中弄错了。 – flashnik 2010-01-16 15:21:51
好吧,我加了'return false;'在onclientclick中的按钮描述,所以它看起来像 'onclientclick =“searchRedirect(); return false;”' 和一切开始工作。 谢谢! – flashnik 2010-01-21 12:47:22