C# 如何将MVC模型转换为数据集?
我正在尝试将项目的一个模型转换为数据集。在发送dt返回之前,我需要将其转换为Person,否则它会产生无意义的输出 但我不确定是先将每个属性转换为我的模型人,然后再返回,还是需要将datatable dt转换为我的模型C# 如何将MVC模型转换为数据集?,c#,asp.net-mvc,casting,C#,Asp.net Mvc,Casting,我正在尝试将项目的一个模型转换为数据集。在发送dt返回之前,我需要将其转换为Person,否则它会产生无意义的输出 但我不确定是先将每个属性转换为我的模型人,然后再返回,还是需要将datatable dt转换为我的模型 public ActionResult Index() { DataModel dt = new DataModel(); using (SqlConnection sqlcon = new SqlConnection(c
public ActionResult Index() {
DataModel dt = new DataModel();
using (SqlConnection sqlcon = new SqlConnection(connectionString)) {
sqlcon.Open();
SqlDataAdapter sqlDa = new SqlDataAdapter("SELECT * FROM Person", sqlcon);
sqlDa.Fill(dt);
}
return View(dt);
}
索引视图:
@model System.Data.DataTable
@{
Layout = null;
}
<table class="table table-bordered table-striped table">
<tr>
<th>Name</th>
<th>Surname</th>
</tr>
@for (int i = 0; i < Model.Rows.Count; i++)
{
<tr>
<td> @Model.Rows [i][1] </td>
<td> @Model.Rows [i][2] </td>
</tr>
}
</table>
<hr>
<a href="@Url.Action("Create","Renter")">Add Person</a>
有人能帮我吗
谢谢大家! 您需要使用sqlDa.Filldt,Person将表的数据填充到数据集;并设置为通过返回Viewdt.Tables[个人]查看 您可以将代码更改为
public ActionResult Index()
{
DataSet dt = new DataSet();
using (SqlConnection sqlcon = new SqlConnection("ABC"))
{
sqlcon.Open();
SqlDataAdapter sqlDa = new SqlDataAdapter("SELECT * FROM Person", sqlcon);
sqlDa.Fill(dt, "Person");
}
return View(dt.Tables["Person"]);
}
并将您的cshtml更改为
<table class="table table-bordered table-striped table">
<thead>
<tr>
@foreach (System.Data.DataColumn col in Model.Columns)
{
<th>@col.Caption</th>
}
</tr>
</thead>
<tbody>
@foreach(System.Data.DataRow row in Model.Rows)
{
<tr>
@foreach (var cell in row.ItemArray)
{
<td>@cell.ToString()</td>
}
</tr>
}
</tbody>
</table>
将数据集转换为MVC模型?@HienNguyen我该如何进行该操作?您的标题是将模型转换为数据集,我想确认你想要什么?@HienNguyen我不确定,但我想我需要在返回视图之前将我的模型转换为dataTable。在MVC中,你不应该将Dataset/dataTable返回视图谢谢你的回答,但这一行是sqlDa.Filldt,Person;给出错误参数1:无法从'System.Data.DataTable'转换为'System.Data.DataSet',此行为dt.Tables[Person]给出此错误消息DataTable不包含“Tables”的定义,并且找不到接受“DataTable”类型的第一个参数的可访问扩展方法“Tables”?是否更改为DataSet dt=new DataSet?是的,我更改了它。没有生成错误,但我再次获得相同的无意义输出System.Data.DataRowCollection[I][1]谢谢它工作正常!无意义输出的原因只是cshtml或两者?控制器和cshtml都有问题,如果问题已解决,您可以将答案标记为已接受谢谢