0

最初にEF dbを使用してデータベース検索用の最初のMVC 3プロジェクトを作成しましたが、検索は大きなWebサイトの一部にすぎず、ほとんどのページにはテキストと画像が含まれています.

私の質問は、基本的に、ウェブサイト上のこれらのページについてで.aspxあり、背後にあるコードには何もありません。

それらはマスター ページといくつかのユーザー コントロールを使用します。これが、フロント エンド担当者がそれらを html ではなく aspx にした理由だと思います。

彼女のページを自分のプロジェクトに変換/含める必要があります (EF と Linq を使用した後、ストアド プロシージャとリストビューに戻りたくありません。また、時間がありません)。

考えられる方法の 1 つを知っています。メイン メニュー項目ごとにコントローラーを作成し、 を返すサブメニュー項目ごとにという名前の ActionResult を追加し、View()それぞれのビューを作成します。

 public class LearnAboutStandardsController : Controller
    {

        public ActionResult Index()
        {
            return View();
        }
        public ActionResult ITSStandardsBackground()
        {
            return View();
        }
        public ActionResult ResearchInitiatives()
        {
            return View();
        }

したがって、私の静的コンテンツ ページはビューになります。

それは機能しています。残りのページでそれを行い、これらのページのテキスト内のリンクを変更したいだけです。

これらのページを処理する他の方法はありますか?

これらのページの背後にあるロジックはありません。

これは、静的コンテンツが非常に多い MVC パターンにとって完璧なプロジェクトではないことはわかっていますが、それには理由がありました。

4

2 に答える 2

3

これを「StaticContent」コントローラーで処理します。

StaticContentController.cs

public class StaticContentController : Controller
{
    public ActionResult About()
    {
        return View();
    }

    public ActionResult Services()
    {
        return View();
    }

    public ActionResult Portfolio()
    {
        return View();
    }
}

ルート構成の下にコードを追加して、静的ルートを処理します。

routes.MapRoute(
    "StaticContent",
    "{action}",
    new { controller = "StaticContent" },
    new { action = "About|Services|Portfolio" } // Add more here
);

あなたは設定されています。

さらにページが必要な場合は、StaticController にアクションを追加し、StaticContent MapRoute を調整してください。

于 2013-07-10T05:20:46.503 に答える
1

個人的には、ビューをレンダリングするだけの単純なアクションを持つコントローラーが必要です。そうすれば、後で機能を追加する場合でも、すでにセットアップされています。また、セキュリティやキャッシングを追加したい場合は、はるかに簡単で一貫性があります.

「静的」ページには引き続き WebForms を使用できます (「pretty」URL が必要な場合は、新しいFriendly URL機能を使用します)。または、Razor で Web ページを使用して、静的コンテンツ用の CSHTML ファイルを作成することもできます。

于 2013-02-22T19:01:46.410 に答える