代码:
public ActionResult Index() { DataTable dt; string conString = "server=.;database=xx;uid=sa;pwd=112102;"; using (SqlConnection con = new SqlConnection(conString)) { SqlCommand com = con.CreateCommand(); com.CommandText = "Porc_temp"; com.CommandType = CommandType.StoredProcedure; SqlDataAdapter da = new SqlDataAdapter(com); DataSet ds = new DataSet(); da.Fill(ds); dt = ds.Tables[0]; } return View(dt); }
视图:
@model xx.Controllers.ProcController
<table id="hacker" class="gridview"> <tr> <th>id</th> </tr> @foreach (System.Data.DataRow dr in ??? )//这里怎么写呢?这里写model 会报错 { <tr> <td class="click_sp">@dr["xx"]</td> </tr> } </table>
我看好多案例都是先定义的实体类 视图最上面就导入对应实体的命名空间。
但是就像我上面的那个怎么办呢?或者说我想看看这个的实现的方式。
@model System.Data.DataTable
我也遇到同样的问题 ,不知道你有没有啊解决了,解决了的话,帮我说下,谢谢
解决了
@s_p:
public ActionResult Index()
{
var dt = new DataTable("test");
dt.Columns.Add("name", typeof(string));
var row = dt.NewRow();
row["name"] = "梅西";
dt.Rows.Add(row);
return View(dt);
}
@model System.Data.DataTable
<table border="0" cellpadding="0" cellspacing="0">
@foreach (System.Data.DataRow item in Model.Rows)
{
<tr>
<td>
@item["name"]
</td>
</tr>
}
</table>
@s_p: 谢谢