簡體   English   中英

從javascript檢索查詢字符串

[英]retrieve query string from javascript

請有人幫我..我已經進行了有關如何使用Java腳本檢索查詢字符串的研究,但似乎並不成功。 當用戶單擊放置在網格視圖中的按鈕時,我需要打開表單(不同的Web表單)的窗口打印視圖。 網格視圖中的每一行都有其自己的打印按鈕,因為它具有不同的id,因為表單數據是從id(數據庫中的主鍵,引用行程ID)中檢索的。下面是我的Java腳本代碼。打印窗口可以打開,但是表單數據無法檢索。

 <script type="text/javascript">
   function printExternal() {
   var data='<%=this.Request.QueryString["tripid"]%>';
   var printWindow = window.open('PrintBusinessTrip.aspx?tripid=' + data, 'Print', 'left=200, top=200, width=950, height=500, toolbar=0, resizable=0');
   printWindow.addEventListener('load', function () {
   printWindow.print();
   printWindow.close();
   }, true);
   }
 </script>

這是按鈕

<asp:Button ID="sendbtn" runat="server"  OnClientClick="printExternal();"     PostBackUrl='<%#"~/PrintBusinessTrip.aspx?tripid="+Eval("tripid")%>'  Text="Print" />

只有當我像這樣對id進行硬編碼時,它才會成功,

   var printWindow = window.open('PrintBusinessTrip.aspx?tripid=102' + data, 'Print', 'left=200, top=200, width=950, height=500, toolbar=0, resizable=0');

我真的很感謝任何幫助..因為我是Java腳本和asp.net的新手。 對不起我的英語不好。

放置按鈕的GridView

打印視圖

問題出在printExternal Javascript函數中。 您不應該使用查詢字符串來獲取tripid ,因為對於表的每一行它都不會改變。

取而代之的是,您可以從每個按鈕傳遞tripid作為printExternal函數的參數。

<asp:Button ID="sendbtn" runat="server" OnClientClick='<%# Eval("tripid", "printExternal({0})") %>' Text="Print" />

或簡單地

<button type="button" onclick="printExternal(<%# Eval("tripid") %>);">Print</button>

Javascript函數應如下所示:

function printExternal(tripid) {
    var printWindow = window.open('PrintBusinessTrip.aspx?tripid=' + tripid, 'Print', 'left=200, top=200, width=950, height=500, toolbar=0, resizable=0');
    printWindow.addEventListener('load', function () {
        printWindow.print();
        printWindow.close();
    }, true);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM