--i have two button
1)search
2)ExportToExcel
on search i will get the data in gridview
on ExportToExcel the data will be in Excel
Search is working fine,
ExportToExcel Code is as follows
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)
{
}
Everything seems fine,But i am getting error as like this
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>
---just now i tried to include it in try catch block
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);
}
}
Its going in catch block.Its saying me like
unable to evaluate expression as the code is optimized or native frame is on top of the call stack
-------------------thanks for your commnet its almost 90 % completed----------------last help require----
--in my page load i have added the scriptmanager part
protected void Page_Load(object sender, EventArgs e)
{
ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.RegisterPostBackControl(this.btnexportToExcel);
try
{
//intRoleId = Convert.ToInt32(Session[TMS.Common.CommonConstants.CONST_ROLE_ID]);
strMainPage = Request.QueryString["IS_MAINPAGE"];
if (!IsPostBack)
{
txt_From_date.Text = (DateTime.Today.Date).ToShortDateString() + ' ' + (DateTime.Today.Date).AddHours(00).AddMinutes(00).ToShortTimeString();
txt_To_date.Text = (DateTime.Today.Date).ToShortDateString() + ' ' + (DateTime.Today.Date).AddHours(23).AddMinutes(59).ToShortTimeString();
intRoleId = Convert.ToInt32(Session[TMS.Common.CommonConstants.CONST_ROLE_ID]);
if (intRoleId == Convert.ToInt16(TMS.Common.CommonConstants.CONST_TRANSPORT_LOCAL_ROLEID))
{
ControlBinding.FillCombo(ddl_Hub, " HUB_MASTER", Session[TMS.Common.CommonConstants.CONST_COMPANY_ID].ToString(), Session[TMS.Common.CommonConstants.CONST_USER_HUB_ID].ToString(), Session[TMS.Common.CommonConstants.CONST_USER_ID].ToString(), "", "", "", false);
ddl_Hub.SelectedValue = Session[TMS.Common.CommonConstants.CONST_USER_HUB_ID].ToString();
ddl_Hub.Enabled = false;
}
else
{
ControlBinding.FillCombo(ddl_Hub, "ASSOCIATED_HUBS", Session[TMS.Common.CommonConstants.CONST_COMPANY_ID].ToString(), Session[TMS.Common.CommonConstants.CONST_USER_HUB_ID].ToString(), Session[TMS.Common.CommonConstants.CONST_USER_ID].ToString(), "", "", "", false);
}
}
// RoleBasedSecurity();
}
catch (Exception ex)
{
LogError.WriteError(ex);
}
}
----if i debug ,,,,it finally goes to HeaderHTML which is declared in my aspx page-----------------------------------------
</head>
<%HeaderHTML("Imported Users Schedule Details", 2, 0);
%>
---after it goes to HeaderHTML in my aspx page----it goes here-------------------------------
protected void HeaderHTML(string pageTitle, int folderLevel, int isPopup)
{
StringBuilder objStringBuilder = new StringBuilder();
try
{
switch (folderLevel)
{
case 0:
strFolderLevel = "";
break;
case 1:
strFolderLevel = "../";
break;
case 2:
strFolderLevel = "../../";
break;
case 3:
strFolderLevel = "../../../";
break;
case 4:
strFolderLevel = "../../../../";
break;
}
objStringBuilder.Append("<base target='_self'/><head><title>Transportal :: ");
objStringBuilder.Append(pageTitle);
objStringBuilder.Append("</title>");
objStringBuilder.Append("\n<META Http-Equiv='Cache-Control' Content='no-cache'>");
objStringBuilder.Append("\n<META Http-Equiv='Pragma' Content='no-cache'>");
objStringBuilder.Append("\n<META Http-Equiv='Expires' Content='0'>");
objStringBuilder.Append("\n<meta name='keywords' content='Transportal, Transport Management System, Employee Management System, Route Engine, Fleet Management, Routing, Web Employee Management System, Route planning'>");
objStringBuilder.Append("\n<meta name='description' content='Transportal is a Web Based fully automated Employee Transportation solution in integration with Infor Route Planning software'>");
objStringBuilder.Append("\n<meta name='author' content='HCL Technologies'>");
objStringBuilder.Append("\n<meta name='robots' content='all'>");
objStringBuilder.Append("\n<meta name='copyright' content=March 2009>");
objStringBuilder.Append("<link href='");
objStringBuilder.Append(strFolderLevel);
if (isPopup == 1)
{
objStringBuilder.Append("Utility/Style/TMS.css' type='text/css' rel='stylesheet'>");
}
else
{
objStringBuilder.Append("Utility/Style/TMS.css' type='text/css' rel='stylesheet'>");
}
objStringBuilder.Append("<script language='javascript' src='");
objStringBuilder.Append(strFolderLevel);
objStringBuilder.Append("Utility/JavaScript/commonFunctions.js'></script>");
objStringBuilder.Append("<script language='javascript' src='");
objStringBuilder.Append(strFolderLevel);
objStringBuilder.Append("Utility/JavaScript/CastleBusyBox.js'></script>");
//objStringBuilder.Append("\n<script language='javascript'>window.status='" + pageTitle + "'</script>");
//objStringBuilder.Append("\n<iframe id='BusyBoxIFrame' name='BusyBoxIFrame' frameBorder='0' scrolling='no' öndrop='return false;'></iframe>");
//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.Append("\n</head>");
//writes the Header HTML
Response.Write(objStringBuilder.ToString());
SetScreenMessages();
}
catch (Exception e)
{
}
finally
{
objStringBuilder = null;
}
}
------------------------------------------------------------------------------------
I get the excelsheet pops up
But I get a popup after excel opens
--problems during pageload
missing file local settings\style.css
missing file ……………………………………………………..css
missing file .css
missing file ……………………………………………………..css
Finally excel opens
I get all the table in the entire page
And in below actual data exists[which I need]
But I don’t want entire details of the page,,,I only want the griddetails