iT邦幫忙

0

.net core ViewComponent希望只在頁面第一次載入時執行

  • 分享至 

  • xImage

各位大大好
目前在撰寫.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);
    }
}
天黑 iT邦研究生 5 級 ‧ 2023-05-29 16:11:08 檢舉
如果是servcer side架構,沒有支援部分刷新功能,每一個request都會重新生成html,如果要部份刷新可能要搭配前端程式 ajax之類的
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
PinShengs
iT邦新手 5 級 ‧ 2023-07-23 16:57:13

您可以參考.net core 搭配spa技術(如react.js),使用ajax串接後端程式,由後端連接資料庫,方可達成您要的

我要發表回答

立即登入回答