C# 局部视图不';不要去正确的地方
部分视图未转到正确的位置,并且始终会打开一个新页面 我需要在正确的位置(index.cshtml)打开部分视图。如何修复它C# 局部视图不';不要去正确的地方,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,部分视图未转到正确的位置,并且始终会打开一个新页面 我需要在正确的位置(index.cshtml)打开部分视图。如何修复它 public class HomeController : Controller { public PartialViewResult LatestNews() { var p = new Person(); p.FirstName = " NAME " + DateTime.Now; // To test only return P
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>
更新
多亏了达林·迪米特洛夫 起初我把
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
确保页面中包含了
jquery.unobtrusiveajax.js
脚本。这个脚本包含显然应该发生在jquery.js
之后。如果您使用的是ASP.NET MVC 4捆绑包,您只需在jquery之后在布局中呈现~/bundles/jqueryval
捆绑包即可:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@RenderSection("scripts", required: false)
如果jquery之后的标记中没有包含
jquery.unobtruisve ajax.js
脚本,那么ajax.*
助手就毫无用处了。他们所做的只是在相应的DOM元素上生成虚拟HTML5data-*
属性,但是如果没有合适的脚本,就绝对没有任何东西可以解释这些属性并对元素进行AJAXify处理。确保在页面中包含了jquery.unobtrusive ajax.js
脚本。这个脚本包含显然应该发生在jquery.js
之后。如果您使用的是ASP.NET MVC 4捆绑包,您只需在jquery之后在布局中呈现~/bundles/jqueryval
捆绑包即可:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@RenderSection("scripts", required: false)
如果jquery之后的标记中没有包含jquery.unobtruisve ajax.js
脚本,那么ajax.*
助手就毫无用处了。他们所做的只是在相应的DOM元素上生成虚拟HTML5data-*
属性,但是如果没有合适的脚本,就绝对没有任何东西可以解释这些属性并将元素轴化
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@RenderSection("scripts", required: false)