gridview, чтобы преуспеть в asp.net
--у меня есть две пуговицы
1)Поиск
2)ExportToExcel
при поиске я получу данные в gridview
на ExportToExcel данные будут находиться в Excel
Поиск работает нормально,
Код ExportToExcel выглядит следующим образом
protected void ExportToExcel_Click(object sender, EventArgs e) { Response.ClearContent(); Response.AppendHeader("content-disposition","attachment;filename=Importeduserschedule.xls"); Response.ContentType="application/excel"; StringWriter stringwriter = new StringWriter(); HtmlTextWriter htmltextwriter =new HtmlTextWriter(stringwriter); gvImported_Users.RenderControl(htmltextwriter); Response.Write(stringwriter.ToString()); Response.End(); } public override void VerifyRenderingInServerForm(Control control) { }
Все кажется прекрасным,но я получаю ошибку, как это
Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled. Details: Error parsing near '<div> <table class=".</xml>"></table></div>
---только что я попытался включить его в блок try catch
protected void ExportToExcel_Click(object sender, EventArgs e) { try { Response.ClearContent(); Response.AppendHeader("content-disposition", "attachment;filename=Importeduserschedule.xls"); Response.ContentType = "application/excel"; StringWriter stringwriter = new StringWriter(); HtmlTextWriter htmltextwriter = new HtmlTextWriter(stringwriter); gvImported_Users.RenderControl(htmltextwriter); Response.Write(stringwriter.ToString()); Response.End(); } catch(Exception ex) { LogError.WriteError(ex); } }
Он идет в блок улова.Что мне нравится
unable to evaluate expression as the code is optimized or native frame is on top of the call stack
-------------------спасибо за ваш комнет, он почти на 90 % завершен----------------последняя помощь требуется----
--в моей загрузке страницы я добавил часть scriptmanager
охраняемых недействительными в(объект отправителя, EventArgs в электронной)
{
Элемента управления scriptmanager элемента управления scriptmanager = элемента управления scriptmanager.GetCurrent(this.Page);
элемента управления scriptmanager.RegisterPostBackControl(this.btnexportToExcel);
пробовать
{
//intRoleId = преобразовать.ToInt32(сессия[TMS.Common.Общие константы.CONST_ROLE_ID]);
strMainPage = запрос.Файл querystring["IS_MAINPAGE"];
if (!IsPostBack)
{
txt_From_date.Text = (DateTime.Сегодня.Дата).ToShortDateString() + '' + (DateTime.Сегодня.Дата).AddHours(00).AddMinutes(00).Тошорттиместринг();
txt_To_date.Text = (DateTime.Сегодня.Дата).ToShortDateString() + '' + (DateTime.Сегодня.Дата).AddHours(23).AddMinutes(59).Тошорттиместринг();
intRoleId = конвертировать.ToInt32(сессия[TMS.Common.Общие константы.CONST_ROLE_ID]);
if (intRoleId == Convert.ToInt16(TMS.Common.Общие константы.CONST_TRANSPORT_LOCAL_ROLEID))
{
ControlBinding.FillCombo(ddl_Hub, "HUB_MASTER", Session[TMS.Common.Общие константы.CONST_COMPANY_ID].Метод toString(), сессия[ТМС.Общие.Общие константы.CONST_USER_HUB_ID].Метод toString(), сессия[ТМС.Общие.Общие константы.CONST_USER_ID].Метод toString(), "", "", "", ложные);
ddl_Hub.SelectedValue = сессии[ТМС.Общие.Общие константы.CONST_USER_HUB_ID].Метод toString();
ddl_Hub.Включен = ложь;
}
еще
{
ControlBinding.FillCombo(ddl_Hub, "ASSOCIATED_HUBS", Session[TMS.Common.Общие константы.CONST_COMPANY_ID].Метод toString(), сессия[ТМС.Общие.Общие константы.CONST_USER_HUB_ID].Метод toString(), сессия[ТМС.Общие.Общие константы.CONST_USER_ID].Метод toString(), "", "", "", ложные);
}
}
// RoleBasedSecurity();
}
поймать (исключение бывший)
{
LogError.WriteError(ex);
}
}
----если я отлаживаю ,,,,то он, наконец, переходит к HeaderHTML, который объявлен на моей странице aspx-----------------------------------------
</head>
<%HeaderHTML("импортированные сведения о расписании пользователей", 2, 0);
%>
---после того, как он перейдет в HeaderHTML на моей странице aspx----он идет сюда-------------------------------
охраняемых недействительными HeaderHTML(строку название страницы, folderLevel инт, инт isPopup)
{
StringBuilder objStringBuilder = новый StringBuilder();
пробовать
{
переключатель (folderLevel)
{
случай 0:
strFolderLevel = "";
перерыв;
корпус 1:
strFolderLevel = "../";
перерыв;
случай 2:
strFolderLevel = "../../";
перерыв;
случай 3:
strFolderLevel = "../../../";
перерыв;
случай 4:
strFolderLevel = "../../../../";
перерыв;
}
objStringBuilder.Добавить("&ЛТ;выбор целевых='отдел обслуживания клиентов Tel'/&ГТ;&ЛТ;глава&ГТ;&ЛТ;титул&ГТ;Транспортал :: ");
objStringBuilder.Добавить(pageTitle);
objStringBuilder.Добавить("</title>");
objStringBuilder.Добавить("\n<META Http-Equiv='Cache-Control' Content='no-cache'>");
objStringBuilder.Функции append("\п<мета НТТР-экв контент='Прагма'='нет-кэша в'>");
objStringBuilder.Append("\n<META Http-Equiv='Expires' Content='0'>");
objStringBuilder.Функции append("\п<мета имя= "ключевые слова" содержание='Транспортал, транспорт, системы управления, работников системы управления, маршрут, двигатель, управление автопарком, маршрутизация, веб-работника системы управления, планирование маршрута'&ГТ;");
objStringBuilder.Append("\n<meta name='description' content='Transportal-это полностью автоматизированное веб-решение для транспортировки сотрудников в интеграции с программным обеспечением Infor Route Planning Software" >");
objStringBuilder.Добавить("\n<meta name='author' content='HCL Technologies'>");
objStringBuilder.Функции append("\п<мета имя= "роботов" содержание= " все " и GT;");
objStringBuilder.Append("\n<meta name='copyright' content=март 2009 года>");
objStringBuilder.Добавить("<link href='");
objStringBuilder.Добавить(strFolderLevel);
если (isPopup == 1)
{
objStringBuilder.Append("Utility/Style/TMS.css' type='text/css' rel='stylesheet'>");
}
еще
{
objStringBuilder.Append("Utility/Style/TMS.css' type='text/css' rel='stylesheet'>");
}
objStringBuilder.Добавить("<script language='javascript' src='");
objStringBuilder.Добавить(strFolderLevel);
objStringBuilder.Добавить("Utility/JavaScript/commonFunctions.js'></script>");
objStringBuilder.Добавить("<script language='javascript' src='");
objStringBuilder.Добавить(strFolderLevel);
objStringBuilder.Добавить("Utility/JavaScript/CastleBusyBox.js'></script>");
//objStringBuilder.Функции append("\п<язык скриптов='JavaScript-код в'>окно.статус='" + с именем pagetitle + "в'</скрипт>");
//objStringBuilder.Функции append("\п<iframe в код='BusyBoxIFrame' имя='BusyBoxIFrame' frameBorder='0' прокрутки= " нет " öndrop='вернет false;'&ГТ;&ЛТ;/iframe и GT и GT;");
//objStringBuilder.Append("\n<SCRIPT>try{window.opener.document.getElementById('AlertDiv').style.display='hidden';}catch(e){} var busyBox = new BusyBox('BusyBoxIFrame', 'busyBox', 4, 'gears_ani_', '.gif', 125, 308, 172, 'BusyBox.htm') </SCRIPT>");
objStringBuilder.Добавить("\n</head>");
//записывает заголовок HTML
Ответ.Write(objStringBuilder.Метод toString());
SetScreenMessages();
}
catch (исключение e)
{
}
наконец
{
objStringBuilder = нуль;
}
}
------------------------------------------------------------------------------------
Я получаю excelsheet всплывает
Но я получаю всплывающее окно после открытия excel
--проблемы во время загрузки страниц
отсутствует файл local settings\style.css
отсутствующий файл ..............................................................css
отсутствует файл .в CSS
отсутствующий файл ..............................................................css
Наконец excel открывается
Я получаю всю таблицу на всей странице
И ниже фактические данные существуют[которые мне нужны]
Но я не хочу, чтобы все детали этой страницы,,,я только хочу, чтобы griddetails