栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在MVC中显示标准数据表

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在MVC中显示标准数据表

这根本不是“错误”,这不是酷人通常对MVC所做的事情。顺便说一句,我希望ASP.NET MVC的一些早期演示不要同时尝试在Linq-to-
Sql中进行。当然,它非常棒,非常适合MVC,但这不是必需的。 关于MVC的任何事情都不能阻止您使用ADO.NET 。例如:

控制器动作:

public ActionResult Index(){    ViewData["Message"] = "Welcome to ASP.NET MVC!";    DataTable dt = new DataTable("MyTable");    dt.Columns.Add(new DataColumn("Col1", typeof(string)));    dt.Columns.Add(new DataColumn("Col2", typeof(string)));    dt.Columns.Add(new DataColumn("Col3", typeof(string)));    for (int i = 0; i < 3; i++)    {        DataRow row = dt.NewRow();        row["Col1"] = "col 1, row " + i;        row["Col2"] = "col 2, row " + i;        row["Col3"] = "col 3, row " + i;        dt.Rows.Add(row);    }    return View(dt); //passing the DataTable as my Model}

视图:(带有强类型为System.Data.DataTable的模型)

<table border="1">    <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>

现在,我在这里违反了ASP.NET
MVC的许多原理和“最佳实践”,因此请理解,这只是一个简单的演示。创建DataTable的代码应该驻留在控制器之外的某个位置,并且View中的代码可能更好地隔离到部分(或html)助手中,以列举一些您
应该 做的事情。

*如果视图应该 *显示对象 ,则 绝对应该将对象传递给View 。(关注点的分离规定了视图不应该负责 创建
它们。)在这种情况下,我将DataTable传递为实际的视图模型,但您也可以将其放入ViewData集合中。或者,您可以制作一个特定的IndexViewModel类,其中包含DataTable和其他对象,例如欢迎消息。

我希望这有帮助!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/465212.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号