从javascript中检索查询字符串

时间:2017-04-05 06:26:22

标签: javascript c# asp.net

有人请帮助我..我已经研究过如何使用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 where the button placed

print view

1 个答案:

答案 0 :(得分:0)

问题出在class YourController extends Controller { public function __construct() { parent::__construct(); } } Javascript函数中。您不应该使用查询字符串获取printExternal,因为它不会对表的每一行都进行更改。

相反,您可以从每个按钮传递tripid作为tripid函数的参数。

printExternal

或只是

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

Javascript函数应该如下所示:

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