加载菜单和子菜单,部分查看jquery ajax

问题描述

我有一个返回部分视图和数据的控制器。

return PartialView(@"~/Views/Shared/Menu/Menu.cshtml",result.Result);

然后我在javascript中调用此控制器以像这样在我的剃刀页面上加载菜单

$('#primary-menu').load(url);

问题是页面加载时我可以在页面显示菜单,但是所有父菜单页面加载时都会展开。我需要动态加载菜单,但是当我尝试将数据加载为部分视图时,父菜单会在加载时扩展,而我无法防止这种情况。但是,如果我静态添加HTML可以正常工作,则菜单不会在加载时扩展。我该如何实现?

解决方法

我不确定局部视图中的内容。但是我假设在 $。load 调用期间没有调用某些初始化脚本。如果是这种情况,您可以通过添加简单的 console.log 语句进行检查。 否则,您可以尝试成功执行脚本。

$.('#primary-menu').load(url,function() {
   // initialise your menu here (assuming its some kind of component)
});