1

私はコントローラーを持っています:

    public ActionResult Index()
    {
        return View();
    }
    public ActionResult Button1()
    {
        return View();
    }

MySite/MyController/ は、3 つのボタンと div を含むサイトをレンダリングします。ボタンのリダイレクト先: MySite/Controller/button1 MySite/Controller/button2 MySite/Controller/button3

ユーザーが button1 をクリックすると、MySite/MyController/ が div の public ActionResult Button1() のコンテンツでレンダリングされるようにしたいと思います。

同じことがボタン 2 と 3 にも当てはまります。ユーザーが MySite/Controller/button2 に直接アクセスすると、最初から div に ActionResult Button2 を含むインデックスがレンダリングされます。

これを行う簡単な方法はありますか?div のコンテンツを置き換えるために ajax を実行する必要がありますか、それともボタンを部分ビューにして 4 ページにレンダリングするだけでよいでしょうか。

ajaxで簡単であれば、ページを更新する必要はなく、コンテンツをロードするだけでよいと思います。しかし、ユーザーが MySite/Controller/button2 に直接アクセスした場合、ページを正しくレンダリングする方法がわかりません。

4

1 に答える 1

0

ここに表示されるいくつかの有効なオプションがあります。

  1. 各ボタンに、そのコンテンツを含む新しいページが読み込まれるようにします。
  2. 各ボタン コンテンツを PartialView として 1 つのページに含め、JavaScript を使用して AJAX を使用せずに div コンテンツを変更します。
  3. ボタンのコンテンツは一切含めず、すべて AJAX 経由で読み込みます。
  4. 最初に表示されるボタン コンテンツを含め、AJAX を介して他のコンテンツを読み込みます (これらが静的コンテンツの場合は、値を格納するようにスクリプトを設計して、それぞれを 1 回だけ読み込む必要があるようにすることができます。

個人的には、1 と 2、3、または 4 (ユースケースに応じて) の組み合わせを試してみます。このようにして、サイトの基本機能は JavaScript なしで動作しますが、jQuery/AJAX の利点を引き続き得ることができます。

于 2012-10-16T04:02:34.190 に答える