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 时,它会在 div 中使用 public ActionResult Button1() 的内容呈现 MySite/MyController/。

botton 2 和 3 也是如此。如果用户直接转到 MySite/Controller/button2 它应该从一开始就在 div 中呈现带有 ActionResult Button2 的索引。

是否有捷径可寻?我是否需要做 ajax 来替换 div 的内容,或者我应该只是将按钮制作为部分视图并将它们呈现在 4 个页面上。

如果使用 ajax 很容易,我希望页面不需要刷新,只需加载内容即可。但我不确定如果用户直接访问 MySite/Controller/button2,我将如何使其正确呈现页面。

4

1 回答 1

0

我在这里看到了一些有效的选项:

  1. 让每个按钮加载一个包含其内容的新页面。
  2. 将每个按钮内容作为 PartialView 包含在单个页面中,并使用 javascript 更改 div 内容而不使用 AJAX。
  3. 不要包含任何按钮内容,并通过 AJAX 加载它们。
  4. 包括第一个可见的按钮内容,并通过 AJAX 加载其他内容(如果这些是静态内容,那么您可以设计脚本来存储值,这样每个按钮只需加载一次。

就个人而言,我会尝试将 1 和 2、3 或 4 结合起来(取决于用例)。这样,网站的基本功能就可以在没有 javascript 的情况下工作,但您仍然可以获得 jQuery/AJAX 的好处。

于 2012-10-16T04:02:34.190 回答