在ASP.Net MVC应用程序中,我在视图和点击事件上有一个按钮,它返回到
的动作public void ExportToExcel()
{
string startDate = Convert.ToDateTime(Session["DateStart"]).ToString("yyyy-MM-dd");
string endDate = Convert.ToDateTime(Session["DateEnd"]).ToString("yyyy-MM-dd");
int hierarchyID = Convert.ToInt32(Session["HierarchyID"]);
DataBaseManager dbManager = new DataBaseManager();
SqlConnection connection = new SqlConnection(dbManager.GetConnectionString());
SqlCommand command = new SqlCommand("RPT_GetEmpTimeBoardForPeriodAndHierarchyPosition", connection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("StartDate", startDate));
command.Parameters.Add(new SqlParameter("EndDate", endDate));
command.Parameters.Add(new SqlParameter("HierarchyID", hierarchyID));
command.CommandTimeout = 360;
connection.Open();
DataTable dt = new DataTable();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(dt);
GridView gv = new GridView();
gv.DataSource = dt;
gv.DataBind();
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gv.RenderControl(htw);
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", string.Format("attachment; filename=TabelFor_{0}-{1}.xls",
Convert.ToDateTime(Session["DateStart"]).ToString("dd.MM.yyyy"),
Convert.ToDateTime(Session["DateEnd"]).ToString("dd.MM.yyyy")));
Response.ContentType = "application/ms-excel";
Response.Charset = "";
ViewBag.AlertMessage = "Download completed";
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
我可以在单击时禁用按钮,但是如何在已经下载文件时启用它。 提前谢谢。
答案 0 :(得分:0)
我相信这应该触发窗口加载事件,这样你就可以绑定你的处理程序来启用它的按钮,就像那样
$(document).load(function(){
$('#buttonId').prop("disabled", false);
});
请注意我没有机会根据您的方案进行测试,可能需要您在实际工作之前进行一些调整。
希望它有所帮助!