客戶段調用伺服器端解決。

來源:互聯網
上載者:User
想實現如下功能


一開啟將所有記錄列出,然後點查詢

 

輸入查詢條件後,上一頁自動返回查詢的條數。

此功能在asp中實現很好實現。但在..net中開發還是第一次。

開發過程

1、  首先我按asp中的寫法,首頁上接受新頁返回得值,具體函數

function opennewwindow()
 { 
var returnvalue=window.showModalDialog("query.aspx"); 
if (returnvalue) 
{ Form1.HidId.value=returnvalue.split("$")[0];
 Form1.HidName.value=returnvalue.split("$")[1]; Form1.HidAuthor.value=returnvalue.split("$")[2]; 
Form1.HidSort.value=returnvalue.split("$")[3]; 
Form1.HidPublish.value=returnvalue.split("$")[4];
}
}

   

卻發現雖然返回了值,但是字碼頁的sql語句卻沒有執行。也就是說字碼頁沒有執行。這與asp的過程執行是不一樣。

1、  此時我明白必須要在此客戶段的javascript函數中執行一下伺服器端的代碼檔案(.cs檔案),如何執行呢?這裡就涉及到客戶段代碼如何調用伺服器端代碼的問題了?上網查資料,有這樣的寫法:

卻發現雖然返回了值,但是字碼頁的sql語句卻沒有執行。也就是說字碼頁沒有執行。這與asp的過程執行是不一樣。

<script>
function test()
{
    if (真的話)
        document.all["btn_test"].click();
}
</script>
<input type="button" onclick="test();">
<asp:button id="btn_test" runat="server"></asp:button>

 

這樣客戶段當附值完畢之後就能執行伺服器端控制項的click事件了,所以可以拖上一個button 或者別的控制項,然後對他觸發一個時間就可以了,可是如果讓他在介面上直接顯示不美觀,所以把他的visible設為false,運行,卻發現不行了,因為如果把一個控制項的visble設定為false的話,他到了客戶段卻沒有了。所以如果拖顯示控制項是不行的,那托上一個hidden ,發現hidden不好用。

這個時候想到了Form1.submit();,用它提交一下不就行了嗎。

這些應該可以了,運行。傳回值好像提交了,但是沒有出現正確的結果,這是為什麼呢?奧。看一下Page_Load 發現加上了if (!Page.IsPostBack),對問題就在這裡。不應該加這個。因為每次提交一次,都要重新載入一次,所以去掉就ok了。

至此問題解決。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.