Telerik ASP.net MVC3之初体验,PanelBar的使用

Technorati タグ: Telerik, ASP.NET, MVC3, PanelBar
 
没想到开博的第一篇文章将然是对Telerik ASP.NET MVC3中的pannelBar的使用心得。

当然对于PanelBar的使用,也是因为自己想做一个简单的项目,偶尔使用VS2010自带的扩张功能管理器中搜索有用的框架发现的,好像目前大部分的ASP.NET的框架都是基于
MVC的。
对于此项目,PannelBar是准备作为首页的菜单栏使用的,大体实现后样子是这样的。(因为使用的是日文操作系统和VS2010,具体的样子就需要大家根据自己的情况判断了 コウモリ
image 主要做的是左边的菜单栏。
为了让PanelBar能够在每个页面中使用,将Panelbar的内容添加到Site.Master母板页中,但是为了扩展性,将PanelBar做了个单独的ViewCotroll来实现。
LeftNavigator.ascx 的代码
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%= Html.Telerik().PanelBar()                
                                    .Name("PanelBar")
                                            .HtmlAttributes(new { style = "width:230px;float:left;" })
                                            .SelectedIndex(0)
                                            .BindTo((IEnumerable<EOAWebApp.Models.ACTIONMENUPARENT>)Session["Menu"], mappings =>
                                            {    
                                                    mappings.For<EOAWebApp.Models.ACTIONMENUPARENT>(binding => binding
                                                            .ItemDataBound((item, parent) =>
                                                            {
                                                                    item.Text = parent.MENUTEXT;    
                                                            })
                                                            .Children(parent => parent.ACTIONMENUCHILD));    
                                                            mappings.For<EOAWebApp.Models.ACTIONMENUCHILD>(binding => binding
                                                                    .ItemDataBound((item, child) =>
                                                                    {    
                                                                            item.Text = child.MENUTEXT;

                                                                            if (child.MENUPATH2 != null)
                                                                            {
                                                                                    item.Url = HttpContext.Current.Request.PathInfo + child.MENUPATH2;
                                                                            }                                    
                                                                    })
                                                                    );
                                            })
%>
针对子菜单的点击路径,我这里用的是URL方式,其实应该使用MVC中Action的方式,但是对控件和框架不熟悉,暂时就这么设定了。
Site.Master母板页中增加此语句
<%Html.RenderPartial( "LeftNavigator"); %>
以上是对View的设定,下面是对于Model和Controller的设定。
在自带的HomeController.cs类中增加对对象的引用,因为EOAWebApp.Models.ACTIONMENUPARENT这个对象要保证在各个页面上保留数据,所以采用Session方式。
public class HomeController : Controller    
        {

             // 在加载第一个画面的时候,将Menu的信息保存在Session中    
                public ActionResult Index()    
                {    
                        ViewBag.Message = "Welcome to ASP.NET MVC!";

                        EOADataEntities context = new EOADataEntities();

                        IEnumerable<ACTIONMENUPARENT> parentFunc = from f in context.ACTIONMENUPARENT    
                                                                                             select f;

                        Session["Menu"] = parentFunc;

                        return View(parentFunc);    
                }

}
Model方面直接使用的ADO.NET Entity的方式,这里就不写了。
image
第一次使用Telerik,还有很多方面不熟悉,大家一起研究吧,毕竟Telerik给了一个Opensource的版本,特别是对Grid等的使用,还是很提高效率的。

你可能感兴趣的:(职场,asp.net,MVC3,Telerik,休闲,PanelBar)