文件下载后运行脚本

时间:2014-04-15 09:01:03

标签: javascript asp.net asp.net-mvc

在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();
    }

我可以在单击时禁用按钮,但是如何在已经下载文件时启用它。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

我相信这应该触发窗口加载事件,这样你就可以绑定你的处理程序来启用它的按钮,就像那样

$(document).load(function(){
   $('#buttonId').prop("disabled", false);
});

请注意我没有机会根据您的方案进行测试,可能需要您在实际工作之前进行一些调整。

希望它有所帮助!

相关问题