我在我的应用程序中使用MVC,Razor,Knockout,typescript。需要使用在客户端设置的模型/数据集准备excel文件。我使用下面的代码,但我理解的问题是数据集被视为字符串,并不完全像它应该采取的模型。这是代码
这是可观察的(数据集)
vmExportData = ko.observableArray<ExcelModel>([]);
将数据推送到数据集
vmExportData.push(new ExcelModel (
e.sender.data()[i].Id,
e.sender.data()[i].Name,
e.sender.data()[i].Address1,
));
Html代码,准备excel文件(在控制器上)
@using (Html.BeginForm("ExportToExcel", "MyController", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div data-bind="css:{hidden: true}">
<input type="text" data-bind="value: vmExportData" />
</div>
<input class='excelIcon' type="submit" data-ux-access="true" value="">
}
控制器方法:
public ActionResult ExportToExcel(ExportModel exportModel)
{
问题是,exportModel参数值为null!还有其他办法让它发挥作用吗?有没有办法在客户端制作excel并渲染?
答案 0 :(得分:0)
尝试在代码上设置name="exportModel"
。
另外,请确保在控制器操作之上设置[HttpPost]
,因为您的表单方法已发布。
ExportModel类是什么样的?