View
@(Html.Kendo().Grid<MvcApplication1.Models.TestModels>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.ID).Groupable(false);
columns.Bound(p => p.Name);
columns.Template(@).ClientTemplate("Download file").Title("Download1");
columns.Template(@).ClientTemplate("" + Html.ActionLink("Download me", "DocumentDownload2", "Home", new { id = "#=ID#" }, null) + "").Title("Download2");
})
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("Grid_Read", "Home"))
)
)
Controller
public ActionResult Grid_Read([DataSourceRequest] DataSourceRequest request)
{
List<TestModels> models = new List<TestModels>();
for (int i = 1; i < 6; i++)
{
TestModels model = new TestModels();
model.ID = i;
model.Name = "Name" + i;
models.Add(model);
}
return Json(models.ToDataSourceResult(request));
}
public ActionResult DocumentDownload1()
{
string contentType = "application/xlsx";
string filePath = Server.MapPath("~/Files/YourFileName.xlsx");
return File(filePath, contentType, "YourFileName.xlsx");
}
public ActionResult DocumentDownload2(int id)
{
string contentType = "application/xlsx";
string filePath = Server.MapPath("~/Files/YourFileName.xlsx");
return File(filePath, contentType, "YourFileName_" + id.ToString() + ".xlsx");
}