繁体   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