2

我正在为一个非常基本的功能而苦苦挣扎。我想从当前视图引用另一个视图,通过应用非常基本的 ajax 从该视图加载内容。这是代码:

<div>
    <ul id="biographies">
    <li> <a href="Ajax">Ajax</a></li>
    <li> <a href="Index">Index</a>  </li>

    </ul>    

    <div id="biography">
      The ajax content will appear here...
    </div>

    <script type="text/javascript">
        $("#biography").load('Ajax.cshtml');


    </script>

</div>

两个页面都在同一个目录中,即:views/home

  • 问题一:load事件如何传递参数?
  • 问题2:如何使用anchor标签链接到其他页面?

谢谢。

4

2 回答 2

2

使用Url.Action辅助方法:

$("#biography").load('@Url.Action("Ajax")');

同样,您可以使用Html.ActionLink来获取a操作或路由的标记:

@Html.ActionLink("Go to Index", "Index")

@Html.ActionLink("Go to Home:Index", "Index", "About")

输出将像<a href='/About/Index'>Go to Home:Index</a>.

请记住,使用 MVC 的想法是 URL 指向资源和路由,而不是特定文件。最好使用这些辅助方法(而不是写出硬编码的 URL),因为它们精确地指定了路由。

于 2012-09-16T07:27:12.877 回答
1

用于Html.ActionLink生成链接,然后使用 jquery 进行 ajax 加载。当然,您需要在控制器中编写操作以返回部分视图。jQuery代码:jsfiddle

于 2012-09-16T09:25:57.803 回答