【发布时间】:2015-04-15 21:19:20
【问题描述】:
我正在为 MVC 4.0 使用 Kendo 网格。我有最新的 DLL 2015.1.318.440。我包括jszip.js。我复制并粘贴了示例中的代码:
.ToolBar(tools => tools.Excel())
.Excel(excel => excel.FileName("Enrollments.xlsx"))
它什么都不做。按钮改变颜色,就是这样。当我尝试它时,我没有收到任何错误。它只是没有做任何事情。我没有使用代理服务器。我在 Chrome 最新版本中运行它。
网格
@(Html.Kendo().Grid<Trawick.Agents.Models.EnrollmentPolicy>()
.Name("grid")
.ToolBar(tools => tools.Excel())
.Excel(excel => excel
.FileName("Enrollments.xlsx")
.Filterable(true)
.ProxyURL(Url.Action("Excel_Export_Save", "Enrollments"))
)
.Columns(columns =>
{
columns.Bound(p => p.enrollment_date)
})
.Pageable()
.Groupable()
.Sortable()
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Read(read => read.Action("Enrollments_Read", "Enrollments")))
)
控制器
[HttpPost]
public ActionResult Excel_Export_Save(string contentType, string base64, string fileName)
{
var fileContents = Convert.FromBase64String(base64);
return File(fileContents, contentType, fileName);
}
public ActionResult Enrollments_Read([DataSourceRequest]DataSourceRequest request, int? id)
{
string sql = "SELECT * FROM EnrollmentPolicy ";
sql += SearchParams.SetSearch(this);
return Json(GetEnrollments(sql).ToDataSourceResult(request));
}
包含 jszip 的捆绑文件
bundles.Add(new ScriptBundle("~/js/kendo")
.Include("~/Scripts/jszip.js")
.Include("~/Scripts/kendo.all.min.js")
.Include("~/Scripts/kendo.aspnetmvc.min.js"));
【问题讨论】:
-
这个问题很难回答。发布更多代码或提供更多信息。
-
贴出你使用的全部代码
-
你把这些代码行放在哪里了?
-
大多数浏览器不需要
_Save方法,它仅适用于那些不允许从javascript保存的浏览器。调试您的 javascript 代码(例如,使用浏览器的 F12 工具)以查找任何阻止您的代码工作的 javascript 错误。还可以尝试使用 Fiddler 或浏览器的网络捕获功能来查看对数据的 Ajax 调用是否成功 -
两种方法我都试过了。 F12 不显示任何 js 错误;但是,当单击按钮时,Fiddler 根本不会显示该操作的任何活动。嗯...
标签: asp.net-mvc excel export-to-excel kendo-asp.net-mvc