我正在设计一个ASP.NET MVC 4解决方案,该解决方案允许用户导入Excel文件,在页面上对其进行特定修改,并以相同的格式导出文件。我试图创建一个名为Grid的视图,它将显示包含Excel电子表格中所有数据的大型数据集的内容。
public ActionResult Grid()
{
DataSet ds = TempData["DataSet"] as DataSet;
string exampleCell = ds.Tables[0].Rows[3][2].ToString();
return View();
}
exampleCell是我如何从表中提取单个单元格的示例。我想我可以迭代数据集中的所有列和行,并使用这种方法提取所有数据。那么,如何在一个View上显示所有exampleCell?
答案 0 :(得分:1)
为您正在迭代的内容创建模型会好得多。当用户在客户端单击“保存”时,这将允许MVC生成模型。
因此,您将拥有一个将每行中的值封装起来的类。让另一个模型具有你创建的第一个模型的IEnumerable / IList。
在Controller方法中,将DataSet转换为这些模型,然后将带有集合的模型传递给View。通过迭代可枚举来填充HTML网格/表。
如果要一次保存所有用户的更改,请在表单中包装网格/表,并使用相同的模型(使用IEnumerable)作为POST方法的参数。当它再次调用服务器时,它将为您填充整个模型。
尝试找出改变的内容可能有点笨拙(除非你只是想再次进行一次海量数据转储),所以如果你想保存每一个动作,那就很容易了单客户端AJAX调用。