首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Juice-ui:在代码隐藏中动态构建菜单

Juice-ui:在代码隐藏中动态构建菜单
EN

Stack Overflow用户
提问于 2013-01-02 23:32:17
回答 1查看 590关注 0票数 0

我试图在页面加载时在运行时构建一个juiceui-menu,但我没有任何运气。如果我在设计时构建菜单,但需要在运行时构建它,那么它工作得很好。任何帮助都将不胜感激!这是我到目前为止拥有的代码...

c#代码:

代码语言:javascript
复制
    private void BuildLoginMenu()
        {
            Juice.Menu jMenuContainer = new Juice.Menu();

            Juice.MenuItem parentItem = new Juice.MenuItem();
            parentItem.ID = "Parent1";
            MenuTemplate p = new MenuTemplate("Parent");
            parentItem.Content = p;      

            Juice.MenuItem childItem = new Juice.MenuItem();
            childItem.ID = "Parent1";
            MenuTemplate c = new MenuTemplate("Parent");
            childItem.Content = c;

            parentItem.Items.Add(childItem);

            jMenuContainer.Items.Add(parentItem);
            Placeholder1.Controls.Add(jMenuContainer);
      }
    }

下面是供参考的MenuTemplate类:

代码语言:javascript
复制
    public class MenuTemplate : ITemplate
        {

            private string _text;

            public MenuTemplate(string text)
            {
              _text = text;
            }

           public void InstantiateIn(Control container)
           {
             LiteralControl l = new LiteralControl(_text);
             container.Controls.Add(l);
           }
       }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-04 04:40:11

这次我是在回答我自己的问题...我发现更容易做的是避免在代码隐藏中构建JuiceUI:Menu。相反,使用jQueryUI CSS文件构建一个HTML无序列表来设置列表的样式。因为jQueryUI是JuiceUI的主干,所以让它工作是没有问题的。我的理由是:不能在代码隐藏中将服务器控件呈现为字符串并将输出赋值给div的innerhtml属性,但可以在代码隐藏中将html呈现为字符串并将其赋值给div的innerhtml属性-这允许我动态构建菜单。请参阅下面的代码,了解适合我的代码。

HTML

代码语言:javascript
复制
        <script type="text/javascript">
          $(function () {
               $("#menu").menu();
          });
        </script>    

        <div id="menuDiv" runat="server">
        </div>

C#

代码语言:javascript
复制
        str += "<ul id=\"menu\">  ";        
        //loop through each menuItem, build menu from top down.
        foreach (MenuItem m in menuItems)
        {        

            str += "<li>";
            str += "<a href=\"#\">" + m.Title + "</a>";
            str += "</li>";           

        }
        str += "</ul>";
        menuDiv.InnerHtml = str;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14124635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档