我有一個側選單,每個選單項都是一個ViewComponent,當我單擊該專案時,整個頁面都會重新加載,我嘗試使用 JavaScript,在鏈接上“防止默認 OnClick”,但是當這樣做時,Click 會崩潰,我就像內容被渲染到側面一樣。
我的_Layout:
<!-- sidebar menu -->
<div id="sidebar-menu" class="main_menu_side hidden-print main_menu">
<div class="menu_section">
<ul class="nav side-menu">
<vc:menu />
</ul>
</div>
</div>
我的視圖組件:
<li>
<a><i class="fa fa-edit"></i> @menu.Title <span class="fa fa-chevron-down"></span></a>
<ul class="nav child_menu">
@foreach (var submenu in menu.Items)
{
<li><a href="@submenu.Route">@submenu.Title</a></li>
}
</ul>
</li>
uj5u.com熱心網友回復:
我認為您需要使用以下代碼來防止默認:
<a href="@submenu.Route" (click)="$event.preventDefault()"></a>
uj5u.com熱心網友回復:
也許你想要這個功能?
在cshtml檔案中,去掉標簽的href特性,使用ajax獲取頁面內容。
<div><a id="btn1" href="#">btn1</a><a id="btn2" href="#">btn2</a></div>
<div id="center" style="width:800px;height:500px;background-color:#eee"></div>
<script>
$("#btn1").click(function () {
$.ajax({
url: "https://localhost:44372/home/getPartialViewOne",
type: "get",
success: function (data) {
$("#center").html("").append(data);
}
});
});
$("#btn2").click(function () {
$.ajax({
url: "https://localhost:44372/home/getPartialViewTwo",
type: "get",
success: function (data) {
$("#center").html("");
$("#center").html(data);
}
});
});
</script>
并且控制器應該創建相應的回傳頁面視圖的方法
public IActionResult getPartialViewOne() {
return new PartialViewResult
{
ViewName = "Test1Partial"
};
}
public IActionResult getPartialViewTwo() {
return new PartialViewResult
{
ViewName = "Test2Partial"
};
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/375271.html
標籤:javascript C# asp.net-mvc asp.net核心
