【问题标题】:How to get data from database to the Views in MVC4?如何从数据库中获取数据到 MVC4 中的视图?
【发布时间】:2013-01-16 00:22:16
【问题描述】:

我不明白如何使数据在不同页面之间工作。我有我的数据库和视图,但是如何填充 DataTable 以放入 HTML UL ou TABLE?

【问题讨论】:

  • 我强烈建议您完成 MVC 教程。谷歌搜索“mvc 教程”时有一些可用 - asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/…
  • 教程只展示了viewbag的东西。问题是我的 SQL 数据库中有数据,我需要检索它。我在哪里以及如何从中获取数据?在控制器还是模型中?
  • 控制器填充模型中的数据,然后返回视图。也许您应该寻找一个 MVC4 教程,其中包含 SQL Server 的 EntityFramework。我发现这是一种与 SQL 数据库交互的简单方法。完成任何 MVC 教程将帮助您了解视图、模型和控制器的基础知识。

标签: asp.net .net asp.net-mvc-4


【解决方案1】:

这就是控制器和视图模型的用武之地。您的控制器应该与存储库(或它的抽象)交互以获取所需的数据,并实例化和填充视图模型。视图模型与获取数据的位置/方式无关。

然后您的视图会使用视图模型。如果处理得当,视图和视图模型将包含很少或不包含逻辑,当然也不会包含直接的数据访问逻辑。

我强烈建议下载一个或多个sample MVC projects 并单步执行代码。

【讨论】:

  • 现在变得容易了。我用控制器得到了数据。比模型获取它并将其发送到视图。但我认为它具有特定的功能和类来做到这一点。
【解决方案2】:

在此论坛中正确回答您的问题需要很长时间。你真的需要对 MVC 做一些研究,我建议从 ASPNET MVC site 的教程开始,尤其是这个 tutorial

【讨论】:

  • 教程的问题在于 Razor。我正在使用 ASPX。
【解决方案3】:

我明白了。

我必须创建一些可以处理集合的变量。就我而言,我在模型中创建了一个数据表

namespace sjnj.Models
{
    public class GameViewModel
    {
           [Display(Name = "Lista dos jogos")]
           public DataTable selectListajogo { get; set; }
    }
}

然后,在控制器中,我建立正常的数据库连接并提供数据,在调用视图时返回数据。

GameViewModel selectJogo = new sjnj.Models.GameViewModel();

//a lot of code here...

selectJogo.selectListajogo.Rows.Add(dtBuscajogo.Rows[i]["id"], dtBuscajogo.Rows[i]["nome"]);

//a lot of code here...

return View("Insert", (GameViewModel)selectJogo);

然后在视图上循环调用 Model.selectListaJogo。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 2017-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多