0

ASP-MVC は初めてなので、少し混乱しています。だから私はチュートリアルに従っていましたが、彼らは Model クラス内に ContextDataBase を作成し、それが私の理解を完全に台無しにしました。

データベースからいくつかの文字列 (テキスト形式の HTML コード) を取得し、それをビューに渡す必要があります。すべてのロジック、DB 通信などはコントローラーにある必要があることを理解しています。そこから、取得した値をビューに直接渡すことができますよね?それでは、なぜ私の場合にモデルが必要なのですか?

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();
        }

私の友人は、ビューはモデルに基づいており、これらのモデルを介してコントローラーからビューにデータを渡し、その逆を行っていると言っています。

今、私は物事を構築する方法、データベースとの接続をどこに置き、そこから機能を取得するかなどについて混乱しています.

私が尋ねているのは、プロジェクトを注文するための最良の(そして初心者にとっては簡単な方法)方法は何ですか. つまり、DB に接続してそこから情報を取得する関数をどこに置くか。それらはModelクラスまたはControllerにある必要があります。また、コントローラーからビューに情報を渡すのに最適な方法は何ですか?それはモデルを介してですか、それとも直接ですか? もう1つのこと-最初にDBから取得した情報を使用していくつかのロジックを実行し、それをビューに渡す関数もあるため-DBにアクセスするためのコントローラーとは別のコントローラーにある必要があります(DBが必要な場合)最初にコントローラーを介してアクセスできますが、モデルはアクセスできません)?

4

0 に答える 0