【发布时间】:2019-12-05 13:54:45
【问题描述】:
我正在创建一个动态用户配置文件。我想使用 ajax 渲染部分(以避免页面重新加载)。
当我通过 ajax 渲染部分时,例如 Profile/sections/skills,我得到部分(我的控制器返回部分视图)并渲染 #partials div。
问题是当我通过在浏览器中手动输入 Profile/sections/skills 直接点击路由时,它只返回部分 html。
我希望两者都能正常工作:通过 ajax 调用渲染部分内容,当我输入 url 时可以找到它。
html
<div class="profile-navbar">
<ul class="ul-menu">
<li class="space"></li>
<li class="active"> <a href="#"> <i class="fa fa-user"></i> About</a> </li>
<li>
<a href="#" id="skills"> <i class="fa fa-robot"></i> Skills/a>
</li>
<li> <a href="#"> <i class="fa fa-images"></i> Portfolio</a></li>
<li> <a href="#"> <i class="fa fa-address-card"></i> CV</a></li>
<li> <a href="#"> <i class="fa fa-briefcase"></i> Experience </a></li>
</ul>
</div>
<div id="partials"> </div>
js
$('.profile-navbar ul li a').click(function (e) {
e.preventDefault();
$.ajax({
url: '@Url.Action("Skills", "Profile")',
type: "POST",
success: function (response, status) {
$("#partials").html(response);
}
});
});
控制器
[Route("Profile/Skills")]
public IActionResult Skills()
{
return PartialView("Skills");
}
【问题讨论】:
标签: c# ajax asp.net-mvc asp.net-core asp.net-ajax