各位大大好
目前在撰寫.net core mvc上面遇到一點小問題
希望有大大能提供相關解決辦法
小弟做了一個能夠動態切換的navgation bar
使用ViewComponent製作
但發現只要頁面更新時ViewComponent也會一起做動
請問有什麼方式能夠讓ViewComponent只在第一次載入頁面時執行?
Layout寫法如下
<header>
@await Component.InvokeAsync("MenuList")
</header>
ViewComponent寫法如下
public class MenuList: ViewComponent
{
private readonly IMenuBarRepo _IMenuBarRepo;
public MenuList(IMenuBarRepo menuBarRepo)
{
_IMenuBarRepo = menuBarRepo;
}
public async Task<IViewComponentResult> InvokeAsync() {
IEnumerable<MenuBarModel.Menu> menuBars;
MenuBarModel.LoginUser loginUser = new MenuBarModel.LoginUser()
{
UserId = 0,
TitleCode = 0,
Department = 0
};
var menuTask = Task.Run(() => _IMenuBarRepo.getUserMenu(loginUser));
menuBars = await menuTask;
return View(menuBars);
}
}
您可以參考.net core 搭配spa技術(如react.js),使用ajax串接後端程式,由後端連接資料庫,方可達成您要的