Создать отчет и выполнить его на панели обновления - PullRequest
0 голосов
/ 17 февраля 2012

У меня есть кнопка внутри панели обновления, которая создает отчет, и отчет дается как ответ страницы. Когда у меня не было панели обновления, отчет был сгенерирован и загружен, но теперь, когда я представил панель обновления, отчет генерируется, но я не получаю его в браузере. Что мне делать.

  using (HtmlTextWriter writer = new HtmlTextWriter(stringWriter))
                        {
                            writer.Write(success);
                            writer.Write(error);
                            writer.Write(warning);
                            Response.Write(stringWriter.ToString());
                        }
                        Response.End();

Я использую панель обновления, чтобы использовать процесс обновления.

Ошибка в response.end()

Get the system.web.httpresponse object associated with the system.web.ui.page object. 
This object allows you to send HTTP response data  to client and 
contains information about the response

Что это значит

Обновление:

 <asp:UpdateProgress ID="UpdateProgress2" runat="server">
     <ProgressTemplate>
      <div style="width: 338px; position: relative; top: -420px; left: 80px" class="">
         <b>Please Wait...</b>
          <img runat="server" id="ajaxLoader" style="background-color: White; width: 338px;"
                                src="styles/images/loadImage.gif" alt="loading" />
      </div>
         </ProgressTemplate>
        </asp:UpdateProgress>
      </ContentTemplate>
    </asp:UpdatePanel>
     <asp:Button ID="btn_upload" CssClass="UploadBtncss" runat="server" Text="Upload"
                            OnClick="upload_Click" />

Ответы [ 2 ]

3 голосов
/ 17 февраля 2012

Проще говоря, вы не можете использовать Response.Write (и ряд других методов Response) внутри UpdatePanel. Есть обходные пути, но это по существу зависит от природы частичного обновления, используемого панелью обновлений. С Response.Write не очень хорошо играть.

Если вы воспользуетесь Google, вы найдете альтернативы (например, переместите Response.Write из UpdatePanel или используйте PostBackTrigger)

Эта страница дает разумное объяснение: http://www.jnouel.net/post/2009/07/06/ResponseWrite-and-UpdatePanel.aspx

3 голосов
/ 17 февраля 2012

попробуйте использовать триггер для триггера обратной передачи

<Triggers> <asp:PostBackTrigger ControlID=”btn1” />
</Triggers>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...