C# 在MVC中显示数据库数据表

C# 在MVC中显示数据库数据表,c#,asp.net-mvc,model-view-controller,C#,Asp.net Mvc,Model View Controller,更改解决方案:我正在尝试显示一个html数据表。。在我的控制器中,我以null启动一个对象,然后将该对象作为引用传递,以根据数据库中的信息更新该对象,如“用户控件命名(Indexcontrol.ascx)”: 列表数据=null; dataManager目标=新建dataManager(); //将参数传递给存储过程并更新它 target.LoadFromDatabase(参考数据); this.ViewData.Model=数据; 返回视图(“索引”); 我试图了解,一旦信息在数据对象中,如

更改解决方案:我正在尝试显示一个html数据表。。在我的控制器中,我以null启动一个对象,然后将该对象作为引用传递,以根据数据库中的信息更新该对象,如“用户控件命名(Indexcontrol.ascx)”:

列表数据=null;
dataManager目标=新建dataManager();
//将参数传递给存储过程并更新它
target.LoadFromDatabase(参考数据);
this.ViewData.Model=数据;
返回视图(“索引”);
我试图了解,一旦信息在数据对象中,如何使用类似的路由显示一个表—所有这些都在用户控件中

 <tbody >

<% foreach (businesslayer.dataob m in  ViewData.Model) 
{ %>
<tr>
 <td><%= m.ID%></td>
 <td><%= m.Date %></td>
 <td><%= m.Description %></td>
 </tr>
 <% } %>


</tbody>

我解决了这个问题……因为我将table属性设置为runat=server,这就是导致我出错的原因……不知道为什么,但它确实做到了

尝试:

<% foreach (dataob m in (IEnumerable<dataob>) ViewData["data"]) { %>

试试:


我不确定您为什么要避免使用ViewData.Model。在这种情况下,我看不出原因:

 ViewData["data"] = data;

 ViewData.Model = data;
如果使用强类型的视图页面,那么也可以避免强制转换模型。然后你可以简单地做:

 <% foreach (dataob m in ViewData.Model) { %>
    <tr> 
        <td><%= m.Id %></td>
        <td><%= m.user %></td>
        <td><%= m.Date %></td>
    </tr>
 <% } %>

我不确定您为什么要避免使用ViewData.Model。在这种情况下,我看不出原因:

 ViewData["data"] = data;

 ViewData.Model = data;
如果使用强类型的视图页面,那么也可以避免强制转换模型。然后你可以简单地做:

 <% foreach (dataob m in ViewData.Model) { %>
    <tr> 
        <td><%= m.Id %></td>
        <td><%= m.user %></td>
        <td><%= m.Date %></td>
    </tr>
 <% } %>


显示语法错误,表示找不到类型或命名空间名称“dataob”。但是我导入了在控制器中导入的同一个类?您可能需要在web.config中导入dataobj的命名空间?我只能猜测,看不到整个项目。在视图中使用注意:我认为如果您使用我在回答中建议的强类型视图,则不需要这样做。这显示了一个语法错误,表示找不到类型或命名空间名称“dataob”。但是我导入了在控制器中导入的同一个类?您可能需要在web.config中导入dataobj的命名空间?我只能猜测,而看不到整个项目。在视图中使用注意:我认为,如果您使用我在回答中建议的强类型视图,则不需要这样做。这是我自己的做法,而不必担心使用ViewData。他需要使用强类型模型。我这样做了,它可以工作,但现在我试图将它集成到用户控件中,它也不能工作。你的用户控件也是强类型的吗?是的,它是强类型的。你的意思是在代码背后?公共部分类Datacontrol:System.Web.Mvc.viewUsercontrol这是我自己做的,没有使用ViewData.model的看似不合理的恐惧“恐惧”来自他问题的最后一句话。他需要使用强类型模型。我这样做了,它可以工作,但现在我试图将它集成到用户控件中,它也不能工作。你的用户控件也是强类型的吗?是的,它是强类型的。你的意思是在代码背后?公共部分类Datacontrol:System.Web.Mvc.ViewUserControl