0

ユーザーがサブコンテンツをアイテムに追加/削除できるようにするコントローラーを構築しようとしています。

見出し、段落、画像など、さまざまな種類のセクションを追加できるドキュメントのように考えてください(それぞれに独自の属性があるため、SQLの個別のテーブルにあります)

私の質問は、この「ドキュメントコントローラー」内のさまざまなタイプのサブセクションを処理するためのコードをどこに配置する必要があるかということです。

それらはすべてデータベースの関係を通じてこの「ドキュメント」/エンティティに関連付けられていますが、タイプごとに「crudl」コントローラーを作成する必要がありますか、それとも基本的なcrudlを実行してから、すべてにこれを継承させる必要がありますか?

「モデル」と「サービスレイヤー」を調べましたが、それは正しい方法ですか?

私はまだMVCに慣れておらず、C#とASP.netを使用して、誰かが正しい方向へのヒントを教えてくれることを望んでいました。

Nb。質問を言い換える必要があるかどうか教えてください。ここで正しい答えを得るために何を尋ねるべきかわかりませんでした。

仕様:私はEF 4.xを使用しており、MVC3は、必要に応じて、利用可能な場合は最新にアップグレードします。

いくつかの賢い答えやガイダンスを期待して。よろしくお願いします。そして、はい、私もグーグルにしようとしました。何を検索すればいいのかわからないので、ここに来ました。

4

1 に答える 1

1

この「ドキュメントコントローラー」内のさまざまなタイプのサブセクションを処理するコードをどこに配置する必要がありますか?

このためのコードは、最終的にコントローラーアクションに入り、それに応じてデータベースを処理および更新します。これを行うには複数の方法があります。

[HttpPost]
public ActionResult AddSection(string type)
{
    switch (type)
    {
        case "HEADING":
            // add new heading to database
        case "PARAGRAPH":
            // add new paragraph to database      
    }
    return View(type);
}

または、具体的にすることができます。

[HttpPost]
public ActionResult AddHeadingSection()
{
    // add to db
    return View("Heading");
}

[HttpPost]
public ActionResult AddParagraphSection()
{
    // add to db
    return View("Parapgraph");
}

上記は、最小限の労力でそれを行う方法の大まかなアイデアを提供するための実際の擬似コードです。実際の状況では、おそらくそれと一緒に追加情報を投稿するでしょうAddHeadingSection(HeadingModel model)。これをどのように実装するかは、本当にあなた次第です。

また、完全なポストバックでAJAXを使用することを検討すると、アプリが少し滑らかになります。

于 2012-08-07T11:29:32.900 に答える