在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
FastDial 是FireFox下一个常用的插件,它主要可以图片的形式显示几个不同的主页,同时你可以刷新这些图片。我一直很喜欢这个插件,可是当我没有带自己的电脑或者没有装FireFox的时候,就没那么方便了。在有一次接触了Telerik控件之后,感觉他很适合用来实现这个效果。所以,我就打算用Asp.net Ajax和Telerik打造属于自己的FastDial(FastDial.org)。做之前,我找过相关的网站,可没有找到合适的。也不知道有没有一些成熟的案例,只好硬着头皮自己做了。
下图是FireFox下FastDial的效果图。 它的主要功能: 1. 可以增加,删除,修改一个块。 2. 区块之间可以拖拽。 3. 可以将网页保存成缩略图。 4. 区块间可自动排列。 5. 可以自己设定区块个数,链接打开方式,背景颜色等。 缺点: 1. c/s程序,分布式应用困难。 2. 不支持多用户。 3. 只能在FireFox下使用。
上面暂且当做一个简单的需求分析吧,下面我将演示怎样用Asp.net Ajax和Telerik快速打造属于自己的FastDial。 因为只是个简单的尝试,所以并不打算实现FastDial的所有功能。 1. 首先创建9个 RadDockZone。 for (int k = 1; k < 4; k++) { for (int i = 1; i < 4; i++) { RadDockZone zone = new RadDockZone(); zone.ID = "RadDockZone" + j.ToString(); } this.TableContainer.Rows.Add(row); }
2. 在每个RadDockZone里面添加属于自己的RadDock。
foreach (Dock li in lis) { CreateDock(li); } private RadDock CreateDock(Dock d) { RadDock dock = new RadDock();
dock.ID = d.ID.ToString(); dock.Title = d.Title; dock.DockMode = DockMode.Docked; RadDockZone zone = (RadDockZone)RadDockLayout1.FindControl("RadDockZone"+d.DockZoneID); zone.Controls.Add(dock); return dock; }
3.增加AddDock页面可以用来增加自己的RadDock。 { string userid = FastDialContext.CurrentUser.Memeber.Member_ID.ToString(); Dock d = new Dock(); Dock d2 = mgr.GetByUrlAndUserID(url2, userid); if (d2 == null) { d.ID = Guid.NewGuid(); d.Url = url2; d.Title =title; d.ImgPath = ImageHelper.GetImgName(url2); d.DockZoneID = byte.Parse(index); d.UserID = userid; d.Create_Time = DateTime.Now; mgr.AddDock(d); return d; }
return d2; }
3. 增加EditDock页面可以用来修改RadDock。
string userid = FastDialContext.CurrentUser.Memeber.Member_ID.ToString(); string index = Request["index"].ToString(); string url = Server.HtmlEncode(TextBox_Url.Text); string title = Server.HtmlEncode(TextBox_Title.Text); Dock d = mgr.GetByIndexAndUserID(index, userid); string oldurl = d.Url; d.Url=url2; d.ImgPath=ImageHelper.GetImgName(url2); d.Title = title2; mgr.UpDateDock(d); 4. 增加DeleteDock页面可以用来删除RadDock。 public bool DeleteIndex(string index) { string userid = FastDialContext.CurrentUser.Memeber.Member_ID.ToString(); return mgr.DeleteByIndexAndUserID(index, userid); } 增删改查搞定了,基本效果如下: 因为是第一次做,还有很多bug,希望大家骂声不要太大。 存在的几个问题:
|
请发表评论