0

我有点困惑......因为我是 ASP-MVC 的新手。所以我在学习一个教程,但是他们在 Model 类中创建了一个 ContextDataBase,这完全颠覆了我的理解。

我需要从数据库中获取一些字符串(文本形式的 HTML 代码)并将其传递给视图。我知道所有的逻辑、数据库通信等都应该在 Controller 中。从中我可以直接将检索到的值传递给视图,对吗?那为什么我需要模型呢?

Fe 我的控制器中有以下方法:

    public class DBadapterController : Controller
    {
        private string getConnectionString()
        {
            return                  WebConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
        }
        public string getXMLfromDB()
        {
           // retrieve the values from the DB and return them as string
        }

        public String getHTMLfromXML(string xmlFile, string xslFile)
        {
           //do some stuff here, not relevant
           return htmlResult;
        }

然后在另一个控制器中,我有将这些东西传递给视图的方法:

public class FuncController : Controller
{
        public ActionResult Products()
        {
            ViewBag.Message = // here get the result from the DBadapterController
            return View();
        }

我的朋友说,视图是基于他们的模型的,通过这些模型,我将数据从控制器传递到视图,反之亦然。

现在我很困惑如何构建这些东西,将与数据库的连接放在哪里以及从它的函数中检索等等。

我要问的是:订购项目的最佳方式(对于新手来说也是最简单的方式)是什么。即,在哪里有连接到数据库并从那里检索信息的功能;它们应该在模型类中还是在控制器中。此外,如何最好地将信息从控制器传递到视图 - 是通过模型还是直接?另一件事——因为我还有一些函数,首先对从数据库中检索到的信息执行一些逻辑,然后将其传递给视图——它们是否应该位于与用于访问数据库的控制器不同的控制器中(如果数据库要首先可以通过控制器访问,但不能通过模型​​访问)?

4

0 回答 0