0

ページのコンテンツをExcel形式に変換しようとしていますが、問題は、ページをリダイレクトするとリクエスト変数が取得されないため、リクエスト変数ごとに非表示変数を定義してから、 Get呼び出し後の値。これは現在使用しているコードです:

<script language="Javascript">
   function exportToExcel()
   {
     document.frm.hndExcel.value = "true";
     document.frm.submit();
   }
</script>


<form name="frm" method="get" action="LibGetStatistics.asp" ID="Form1">
 <% if Request.QueryString("hndExcel") = "true" then
    Response.ContentType = "application/vnd.ms-excel"
 end if%>

 <%= GetStatistics() %>
  <input type="hidden" name="hndExcel" value="false" ID="Hidden1">
  *<input type="hidden" name="ShowOverDueBooks" value="
         <%=Request.QueryString "ShowOverDueBooks")%>" ID="Hidden2">
  <input type="hidden" name="StartDate" value="
         <%=Request.QueryString("StartDate")%>" ID="Hidden3">
  <input type="hidden" name="EndDate" value="
         <%=Request.QueryString("EndDate")%>" ID="Hidden4">*

 <a href="JavaScript:exportToExcel();"><img src='vimages/excel.gif' border=0></a>
</form>

問題は、このコードを他の形式で使用したい場合、各リクエスト変数に対して非表示の変数を宣言する必要があることです。このコードを一般化する他の方法はありますか?ページをポストバックするときに同じリクエストを保持します。

ありがとう。

4

1 に答える 1

0

繰り返しますが、いくつかの試行の後、隠し変数を使用しない一般的な解決策を見つけました。 Request.QueryString プロパティを使用するだけです。

<script language="Javascript">
function exportToExcel()
{
    document.frm.hndExcel.value = "true";
    document.frm.action='LibGetStatistics.asp?' + '<%=Request.QueryString%>';
    document.frm.submit();
}
</script>


<form name="frm" method="post"  ID="Form1">
    <input type="hidden" name="hndExcel" value="false" ID="Hidden1">
    <% if Request.Form("hndExcel") = "true" then
        Response.ContentType = "application/vnd.ms-excel"
    end if%>

    <%= GetStatistics() %>
          <a href="JavaScript:exportToExcel();">
              <img src='vimages/excel.gif' border=0></a>
</form>

この問題に直面する人々に役立つことを願っています。

于 2009-04-07T09:29:31.297 に答える