ASP.Net MVC3在webgrid中显示sql输出

时间:2011-02-03 21:55:16

标签: vb.net asp.net-mvc-3 razor

我正在使用ASP.Net MVC3和MySQL。

尝试找出beast方式从控制器返回sql结果,以使用webgrid帮助类查看和显示输出。

尝试跟着它不起作用。

控制器代码

data = New DataTable
da = New MySqlDataAdapter("SELECT * FROM " + tables.SelectedItem.ToString(), conn)
cb = New MySqlCommandBuilder(da)
da.Fill(data)
ViewData("grid") = data

查看代码

@Code   
    Dim grid As New WebGrid(ViewData("grid"))
End Code
@grid.GetHtml()

请纠正我,我在这里做错了什么。

由于 SR

1 个答案:

答案 0 :(得分:0)

WebGrid Helper构造函数采用类型为IEnumerable<object>的参数。

确保您的DataTable可枚举。最简单的方法是使用AsEnumerable()扩展方法。这是System.Data.DataTableExtensions类。

您需要确保将ViewData对象强制转换为DataTable。然后,您可以在其上使用该扩展方法。

不确定此代码是否确实有效:

 Dim grid As New WebGrid((DirectCast(ViewData("grid"), DataTable)).AsEnumerable())