FineUI 官方论坛
标题:
【已解决,未指定ID】动态添加Accordion提示$b未定义
[打印本页]
作者:
嗨陽
时间:
2017-3-19 23:35
标题:
【已解决,未指定ID】动态添加Accordion提示$b未定义
view部分代码:
F.Region()
.ID("Region2")
.RegionSplit(true)
.Width(200)
.ShowHeader(true)
.Title("菜单")
.EnableCollapse(true)
.Layout(LayoutType.Fit)
.RegionPosition(Position.Left)
.Items(
ViewBag.Accordion
),
复制代码
controller部分代码:
private void LoadData()
{
var menu = authorizeBLL.GetModuleList(SystemInfo.CurrentUserId).ToList();
Accordion accordionMenu = new Accordion();
foreach (var m in menu.Where(w => w.ParentId == "0"))
{
AccordionPane accordionPane = new AccordionPane();
accordionPane.Title = m.FullName;
accordionPane.ShowBorder = false;
accordionPane.BodyPadding = "2px 0 0 0";
accordionPane.IconUrl = m.Icon;
accordionMenu.Panes.Add(accordionPane);
}
ViewBag.Accordion = accordionMenu;
}
复制代码
[attach]9932[/attach][attach]9933[/attach]
作者:
sanshi
时间:
2017-3-19 23:50
请基于空项目重现问题,并上传
作者:
嗨陽
时间:
2017-3-20 00:06
sanshi 发表于 2017-3-19 23:50
请基于空项目重现问题,并上传
[attach]9934[/attach]
直接替换你的空项目里的Views/Home/Index 和Controllers/HomeController谢谢
作者:
sanshi
时间:
2017-3-20 11:22
这个问题其实很简单,你的后台代码:
private void LoadData()
{
Accordion accordionMenu = new Accordion();
for (var i=0;i<3;i++)
{
AccordionPane accordionPane = new AccordionPane();
accordionPane.Title = "AccordionPane"+i.ToString();
accordionPane.ShowBorder = false;
accordionPane.BodyPadding = "2px 0 0 0";
accordionMenu.Panes.Add(accordionPane);
}
ViewBag.Accordion = accordionMenu;
}
复制代码
前台代码:
F.ready(function () {
// 初始化主框架中的树和选项卡互动,以及地址栏的更新
// treeMenu: 主框架中的树控件实例,或者内嵌树控件的手风琴控件实例
// mainTabStrip: 选项卡实例
// updateHash: 切换Tab时,是否更新地址栏Hash值(默认值:true)
// refreshWhenExist: 添加选项卡时,如果选项卡已经存在,是否刷新内部IFrame(默认值:false)
// refreshWhenTabChange: 切换选项卡时,是否刷新内部IFrame(默认值:false)
// maxTabCount: 最大允许打开的选项卡数量
// maxTabMessage: 超过最大允许打开选项卡数量时的提示信息
F.initTreeTabStrip(F.ui.treeMenu, F.ui.mainTabStrip, {
maxTabCount: 10,
maxTabMessage: '请先关闭一些选项卡(最多允许打开 10 个)!'
});
});
复制代码
看到没,你前台调用 F.ui.treeMenu,但是后台未指定名为 treeMenu 的树控件 或者 包含树控件的Accordion控件。
把后台代码改为,就好了:
private void LoadData()
{
Accordion accordionMenu = new Accordion();
accordionMenu.ID = "treeMenu";
复制代码
效果:
[attach]9942[/attach]
作者:
capfhz
时间:
2017-3-20 11:25
哈哈,这提示有亮点,提示$b未定义
作者:
嗨陽
时间:
2017-3-20 13:27
sanshi 发表于 2017-3-20 11:22
这个问题其实很简单,你的后台代码:
非常感谢!
欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/)
Powered by Discuz! X3.4