Я следую этой обучающей программе онлайн для передачи информации из базы данных SQL в лист Excel. http://www.c-sharpcorner.com/UploadFile/cd7c2e/export-sql-data-to-excel-using-Asp-Net/Экспорт Excel в SQL - InvalidOperationException
В настоящее время у меня уже есть данные в базе данных SQL, поэтому я использую шаг 4 и далее. О файле Graph.aspx я создал кнопку
<asp:Button ID ="btnSQLToExcel" runat ="server" Text ="Download SQL To Excel" OnClick="btnLoad_Click" />
Затем в файле Graph.aspx.cs я имею следующие методы при нажатии на кнопку:
protected void btnLoad_Click(object sender, EventArgs e)
{
if(GridView1.Visible)
{
Response.AddHeader("content-disposition", "attachment; filename = GridViewToExcel.xls");
Response.ContentType = "application/excel";
StringWriter sWriter = new StringWriter();
HtmlTextWriter hTextWriter = new HtmlTextWriter(sWriter);
GridView1.RenderControl(hTextWriter);
Response.Write(sWriter.ToString());
Response.End();
}
}
public override void VerifyRenderingInServerForm(Control control)
{
}
Если я вывезти последний метод показывает ошибку, которую он описывает на своем сайте. «Элемент управления« GridView1 »типа« GridView »должен быть помещен внутри тега формы с помощью runat = server '. Но, добавив второй метод, это должно было обработать это, но вместо этого я получаю следующую ошибку.
Исключение типа «System.InvalidOperationException» произошло в System.Web.dll, но не был обработан в пользовательском коде
дополнительная информация: RegisterForEventValidation можно назвать только во время Render();
I. 'm выход из моей глубины на этом, так что, если бы кто-нибудь мог сообщить мне, что я делаю неправильно, или даже лучший способ конвертировать sql в excel в веб-формах, будем признательны.