У меня есть gridvidew (GV2). Я хочу, чтобы пользователь мог экспортировать содержимое этого gridview в таблицу Excel для автономной обработки.Экспорт содержимого gridview в таблицу Excel
Вот моя подпрограмма:
Protected Sub ExcelButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ExcelButton.Click
Response.ContentType = "application/vnd.ms-excel"
Response.Charset = ""
Me.EnableViewState = False
Dim stringWriter As New System.IO.StringWriter()
Dim htmlWriter As New System.Web.UI.HtmlTextWriter(stringWriter)
GV2.RenderControl(htmlWriter)
Response.Write(stringWriter.ToString())
Response.End()
End Sub
На щелкая ExcelButton я получаю сообщение об ошибке:
Control 'GV2' типа 'GridView' должны быть помещено внутри тега формы с Runat = сервер.
управления GV2 фактически внутри:
<form id="form1" runat="server"></form>
Спасибо за помощь. Я добавил код выше и теперь получаю: RegisterForEventValidation можно вызывать только во время Render(); – Phil
Я решил это, отключив проверку событий ..... добавив EnableEventValidation = "false" в директиву @page ... Означает ли это какие-либо потенциальные опасности? – Phil
@Phil, я предполагаю, что вы только отключите проверку событий для этой конкретной страницы, вам нужно убедиться, что событие обратной передачи для этой страницы не будет захвачено для выполнения незаконных или нежелательных операций. –