【发布时间】:2014-02-19 10:37:41
【问题描述】:
我已经编写了所有代码以在名为 GenerateXLS.aspx 的 ASPX 页面中生成 excel,并且我将导出到 javascript 调用为
var BudgetID = document.getElementById("ctl00_ContentPlaceHolder1_CmbBudget").value;
var BudgetType = document.getElementById("ctl00_ContentPlaceHolder1_CmbBudgetType").value;
var CompanyID = document.getElementById('<% =HidCompanyID.ClientID %>').value;
var UserID = document.getElementById('<% =HidUserID.ClientID %>').value;
var BudgetName = document.getElementById("ctl00_ContentPlaceHolder1_CmbBudget").options[document.getElementById("ctl00_ContentPlaceHolder1_CmbBudget").selectedIndex].text;
var BudgetTypeName = document.getElementById("ctl00_ContentPlaceHolder1_CmbBudgetType").options[document.getElementById("ctl00_ContentPlaceHolder1_CmbBudgetType").selectedIndex].text;
document.getElementById("iFrame_Excel").src = "../Reports/GenerateXLS.aspx?Source=BudgetReport&BudgetID=" + BudgetID + "&BudgetType=" + BudgetType + "&CompanyID=" + CompanyID + "&UserID=" + UserID + "&BudgetName=" + BudgetName + "&BudgetTypeName=" + BudgetTypeName; alert("works now");
问题在于它正在生成 excel,但前提是我将警报保留在 javascript 函数的末尾。如果我从函数中删除警报,页面会被回发但不生成excel文件。可能是什么问题?为什么只有在我保持警报的情况下才生成excel文件?
【问题讨论】:
-
这段代码在回调里面?即 点击事件的行为?
-
尝试将其放入 ajax 请求而不是
<a>。这样,响应将被捕获,您的页面也将生成 Excel -
@Alberto 没有。我提供的整个 coe 都在一个 javascript 函数中。我正在调用按钮的onclientclick
-
您是否在事件中调用 preventDefault() ? e.preventDefault()
-
@Alberto:超级。它与 e.preventDefault() 一起工作。谢谢你uuuuuuuuuuuuuuuuuuuu
标签: c# javascript asp.net excel