好吧,我正在努力使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