我想从视图传递数据表到控制器中的方法。当我尝试从Controller访问DataTable时,我得到一个NullReference异常。从视图传递数据表到新的控制器方法
DataTable中填充的观点,我可以通过在视图中运行此代码确认:
@{
Debug.WriteLine("########DATATABLE COLUMNS########");
foreach (DataColumn column in Model.Columns) {
Debug.WriteLine(column.ToString());
}
}
这将返回DataTable的列。当我尝试发送此数据表的控制器:
<a href="@Url.Action("expExcel", "Home", new {dt = Model})">export to excel...</a>
在控制器的方法:
public ActionResult expExcel(DataTable dt) {
Debug.WriteLine("########DATATABLE COLUMNS########");
foreach (DataColumn column in Model.Columns) {
Debug.WriteLine(column.ToString());
}
//some more code...
}
原因此错误:
System.NullReferenceException
当我尝试存取权限的发生的错误DataTable dt。
如何将DataTable从视图传递到新的Controller方法?
我已经看到关于这个问题的其他帖子,到目前为止还没有答案,这可能是因为这些问题在这些情况下太具体。我在这篇文章中试图推广更多。
你不能像这样从视图中发送数据表的行动。我使用一个列表这个purpuse和发送数据的表单。 –
Mashtani
@ Janneman96你可以为你的视图显示你的GET操作方法吗?将DataTable作为你的模型是很奇怪的。它应该是这样的http://www.c-sharpcorner.com/UploadFile/rahul4_saxena/export-data-table-to-excel-in-Asp-Net-mvc-4/,对于模型使用IEnumerable。 –
stenlytw
@bounces谢谢,这看起来像我需要的解决方案,我现在要尝试。 – Janneman96