Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Net MVC3在webgrid中显示sql输出_Vb.net_Asp.net Mvc 3_Razor - Fatal编程技术网

Vb.net Net MVC3在webgrid中显示sql输出

Vb.net Net MVC3在webgrid中显示sql输出,vb.net,asp.net-mvc-3,razor,Vb.net,Asp.net Mvc 3,Razor,我正在使用ASP.NETMVC3和MySQL 正在尝试找出使用webgrid帮助类从控制器返回sql结果以查看和显示输出的方法 试图跟随它不起作用 控制器代码 data = New DataTable da = New MySqlDataAdapter("SELECT * FROM " + tables.SelectedItem.ToString(), conn) cb = New MySqlCommandBuilder(da) da.Fill(data) ViewData("grid") =

我正在使用ASP.NETMVC3和MySQL

正在尝试找出使用webgrid帮助类从控制器返回sql结果以查看和显示输出的方法

试图跟随它不起作用

控制器代码

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()
查看代码

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

WebGrid助手构造函数接受类型为
IEnumerable
的参数

确保数据表是可枚举的。最简单的方法是使用
AsEnumerable()
扩展方法。这在
System.Data.DataTableExtensions
类中

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

不确定此代码是否有效:

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

这一行的意图是什么?
dataGrid.DataSource=data
?这是错误的,让我删除它。不,它不起作用,它说asenumerable不是System.data.DataTable的成员