c# - 部分 View 未到达正确的位置

标签 c# asp.net-mvc-4

部分 View 未转到正确的位置,并且始终打开一个新页面。

我需要在正确的位置 (index.cshtml) 打开局部 View 。如何解决?

public class HomeController : Controller
{ 
  public PartialViewResult LatestNews()
  {
     var p = new Person();
     p.FirstName = " NAME " + DateTime.Now; // To test only
     return PartialView("_News", p);
  }

Index.cshtml

@Ajax.ActionLink("Click here!", "LatestNews", "Home", 
   new AjaxOptions { UpdateTargetId = "latestNewsDiv", InsertionMode = InsertionMode.Replace, HttpMethod = "GET", LoadingElementId = "progress" })

<div id="latestNewsDiv">
</div>

<div id="progress">
    <p>Loading...</p>
</div>

_News.cshtmlShared 文件夹下

@model MvcApplication1.Models.Person
<h2>News !!!</h2>
<div>
    @Model.FirstName
</div>

更新


感谢 Darin Dimitrov

最初我把

 <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>

HEAD 部分

但是当我把它放在 body 标签的底部和 @Scripts.Render("~/bundles/jquery") 之后时,它工作正常!

  @Scripts.Render("~/bundles/jquery")
        <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
         @RenderSection("scripts", required: false)
    </body>
</html>

最佳答案

确保您已将 jquery.unobtrusive-ajax.js 脚本包含到您的页面中。而这个脚本包含显然应该发生在 jquery.js 之后。如果您使用的是 ASP.NET MVC 4 包,您应该在布局中简单地呈现 ~/bundles/jqueryval 包,就在 jquery 之后:

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@RenderSection("scripts", required: false)

如果在 jquery 之后您的标记中没有包含 jquery.unobtruisve-ajax.js 脚本,则 Ajax.* 助手将毫无用处。他们所做的只是在相应的 DOM 元素上生成虚拟的 HTML5 data-* 属性,但如果没有适当的脚本,就绝对没有任何东西可以解释这些属性并对元素进行 AJAX 化。

关于c# - 部分 View 未到达正确的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16156310/

相关文章:

c# - 如何在 Windows 窗体 C# 的 DataGridView 中更改 'sort glyph icon' 颜色?

c# - C# 和 .NET Framework 3.5 中的后期绑定(bind)

javascript - mvc 在布局页面中使用变量而不是其字符串值

C# MVC 4 ASP.net,如何将文件插入数据库存储(二进制)

asp.net - SignalR 轮询数据库以获取更新

asp.net-mvc - ASP.NET MVC 4 ApiController 和普通 Controller 路由

c# - 创建存储库

c# - XSLT排序,选择next nearest

c# - 如何在 C# 中的查询中设置字符串中的值?

c# - asp.net mvc 4 中静态类的替代方法是什么?