Самостоятельно перенаправить страницу .Asp и сохранить те же переменные запроса - PullRequest
0 голосов
/ 07 апреля 2009

Пытаюсь преобразовать содержимое страницы в формат Excel, проблема в том, что когда я перенаправляю страницу, я не получаю переменные моего запроса, поэтому я нашел решение, что мы должны определить переменную hiden для каждой переменной запроса и затем определите значение после вызова 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>

Проблема в том, что когда я хочу использовать этот код в других формах, мне нужно объявить скрытую переменную для каждой переменной запроса. Есть ли другой способ обобщить этот код, поэтому, когда мы публикуем страницу, мы сохраняем тот же запрос.

Спасибо.

1 Ответ

0 голосов
/ 07 апреля 2009

Опять же, После нескольких попыток я нашел общее решение, которое не использует скрытые переменные, мы просто должны использовать свойство 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>

Надеюсь, это должно помочь людям, которые столкнутся с этой проблемой.

...