gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 21:47:34 27 4
gpt4 key购买 nike

部分 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com