ASP.NET查詢版面設定form的action屬性只彈出一個頁面,並且每次將版面設定到最前

來源:互聯網
上載者:User

背景

當資料量大、查詢條件複雜,多樣多的時候,我們可能需要單獨做一個查詢介面,當使用者選擇設定了相關的查詢條件後,點擊【查詢】按鈕,系統就彈出一個新的頁面展示出根據條件查詢出的資料集。

然後,使用者每點【查詢】按鈕就彈出一個新的頁面展示出最新的查詢結果。

當然,在較好的使用者體驗下,我認為不管使用者點擊了多少次【查詢】按鈕,系統應該只彈出並有且只有一個頁面,這個頁面就是展示查詢結果的頁面了。並且這頁面還應該顯示在視窗的最前面,如果使用者使用索引標籤式瀏覽器就以閃爍的形式提示使用者當前的查詢結果已更新到最新。

 

解決方案

 

大家知道,在asp.net中直接設定form的action是沒有效果的,或者當產生postback的時候可能會有一些意外的事情發生。如:

<form id="form1" runat="server" action="searchresult.aspx" >

 

好,現在我們只能通過javascript動態設定form的action以及target屬性了,具體如下代碼:

function FormSubmit(){
var action = $('#form1').attr('action');
var target = $('#form1').attr('target');
$('#form1').attr('action','RetireeInfoSearchResult.aspx');
$('#form1').attr('target','RetireeInfoSearchResult.aspx');
var d = $('#form1').submit();
//alert(d);
$('#form1').attr('action',action);
$('#form1').attr('target',target);
return false;
}

 

當點擊【查詢】按鈕時,就觸發FormSubmit方法,通過FormSubmit方法先儲存form的屬性,然後再設定form的action以及target屬性,將target設定為查詢結果的頁面路徑,這樣可以儲存永遠只彈出一個頁面,而不是多個頁面。最後form表單提交後,將form的屬性還原。

 

保證查詢結果顯示在最前面或者提示使用者

在查詢結果頁面中,向body加入onload事件,具體如下:

<body onload="self.focus();">

這樣就可以保證,當頁面載入的時候焦點就在查詢結果頁面上。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.