搜索查询类型
 
  • 站内
  • 互联网
SEARCH
在线交流
DNN中文资源网   DNN中文资源网
销售客服   销售顾问
DNN技术文档
欢迎订阅该栏目
BREADCRUMB标签的另外一种用法
发布人:Alldnnskins | 发布时间:2009年06月12日 | 点击率:18444

在做一个客户皮肤的时候,发现他的sidemenu比较特殊。如图:

image

当点击mainmenu下面的任何一个菜单的时候。左边的sidemenu就会显示它的上层所以菜单和它的下级菜单。用Snapsis模块可以实现这一点,但不能把mainmenu也显示出来。客户给了我们一个代码<%=PortalSettings.ActiveTab.BreadCrumbs(0).TabName %>,这段代码的作用是显示当前页面的第一级菜单的标题,但不能点击。既然可以显示标题,那也应该可以是个url。在问过余钊同学之后,他给的答复是可以的。这段代码就是当前页面第一级菜单的url。两个综合起来就是<%=PortalSettings.ActiveTab.BreadCrumbs(0).TabName %>。这样mainmenu就可以点击了。

牛人也得看的15个CSS常识(转)
发布人:Alldnnskins | 发布时间:2010年02月09日 | 点击率:2094

1、不要使用过小的图片做背景平铺。这就是为何很多人都不用 1px 的原因,这才知晓。宽高 1px 的图片平铺出一个宽高 200px 的区域,需要 200*200=40, 000 次,占用资源。 
2、无边框。推荐的写法是 border:none;,哈哈,我一直在用这个。 border:0; 只是定义边框宽度为零,但边框样式、颜色还是会被浏览器解析,占用资源。 
3、慎用 * 通配符。所谓通配符,就是将 CSS 中的所有标签均初始化,不管用的不用的,过时的先进的,一视同仁,这样,大大的占用资源。要有选择的初始化标签。 
4、CSS 的十六进制颜色代码缩写。习惯了缩写及小写,这才知道,原来不是推荐的写法,为的是减少解析所占用的资源。但同时会增加文件体积。孰优孰劣,有待仔细考证。 
5、样式放头上,脚本放脚下。不内嵌,只外链。 
6、坚决不用 CSS 表达式。 
7、使用 引用样式表,而不是通过 @import 导入。 
8、一般来说,PNG 比 GIF 要小,小得多。再者,GIF 中有多少颜色是被浪费的,很值得优化。 
9、千万不要在 HTML 中缩放图片,一者不好看,二者占资源。 
10、正文字体最好用偶数,12px、14px、16px,效果非常好。特例,15px。 
11、block、ul、ol 等上下留出至少一倍行距,左侧至少两倍行距,右侧随意。 
12、段落之间,至少要有一倍行距。 
13、强行指定某些元素的 line-height,正文 1.6 倍于文字大小,标题 1.3 倍。 
14、中文标点用全角。英文夹杂在中文中,左右空格,半角。 
15、中文字体的粗体和斜体,远离较好,利民利己。

DotNetNuke URL DNN中的链接
发布人:Alldnnskins | 发布时间:2009年10月21日 | 点击率:12228

DotNetNuke 模块包含一组用户控件(*.ascx 文件),他们都定义在“模块定义”(module definition)中。如果你查看DNN 源码,你会发现多数模块都包含 View Edit Setting 3个控件,这也是模块默认的3 个控件。查看这3 个控件之间的跳转代码,通常如下所示:

View controlEdit control 导航跳转的时候如下代码:

Response.Redirect(EditUrl())

Edit controlView control 导航跳转如下代码:

Response.Redirect(Globals.NavigateURL(), true)

You usually don't need a link for the Settings control. You simply configure the User Control in the module definition as a Settings control and a link is automatically created in the module's menu to navigate to it.

使用DNN中的导航方法 NavigateURL()

如下代码示例,点击按钮跳转

protected void cmdEdit_Click(object sender, EventArgs e)
{
  Response.Redirect(Globals.NavigateURL(PortalSettings.ActiveTab.TabID, "mygallery", "mid=" + ModuleId.ToString()));
}

这段代码将创建如下链接:

http://localhost/MyDNNWebsite/Home/tabid/36/ctl/mygallery/mid/362/Default.aspx

NavigateURL 方法第一个参数是跳转的页面,第二个参数是module definition 中control key 的名字,第三个参数是moduleID 。

注意:这样产生的连接,调转后页面只会加载模块的一个控件,即跳转后你只能在页面上看模块的一个控件,页面上其他模块都不会加载。通常我们都只需要当前模块发生跳转,页面上其他的模块都还是在页面上正常显示的,如果需要同时能看到其他模块,我们可以用如下办法:

1) View Control 作为容器,容器中加载其他控件

2) 需要加载到 View 中的页面都不需要定义为 Module Control

View 中示例代码如下:

protected void Page_Load(System.Object sender, System.EventArgs e)
        {
            string token = Request["token"];
            string page = ResolveUrl(this.TemplateSourceDirectory + "/List.ascx");
            switch (token)
            {
                case "detail":
                    page = ResolveUrl(this.TemplateSourceDirectory + "/Detail.ascx");
                    break;
                case "new":
                    page = ResolveUrl(this.TemplateSourceDirectory + "/CreateNew.ascx");
                    break;
                default:
                    break;
            }

            PortalModuleBase objModule = (PortalModuleBase)LoadControl(page);
            objModule.ModuleConfiguration = this.ModuleConfiguration;
            this.Controls.Add(objModule);

        }

例如要跳转到 Detail.ascx ,代码如下:

Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(TabId, "", "token=new"));

注:token 只是一个参数名,可以自己改变定义。

Ajax: A New Approach to Web Applications (转)
发布人:Alldnnskins | 发布时间:2010年02月09日 | 点击率:2017

Ajax: A New Approach to Web Applications

注:本文参考《Ajax: A New Approach to Web Applications》,简单地对 Ajax 进行描述介绍

Ajax 定义

这里说的 AJAX 可不是荷兰的阿贾克斯,而是 Asynchronous JavaScript + XML 的缩写,它也不是单一技术,而是几种技术的强有力组合。参考《Ajax: A New Approach to Web Applications》文中所说,Ajax 包括:

Ajax 能够做什么?

如今 Google SuggestGoogle Maps 使用了 Ajax,通过 Ajax,我们可以使得客户端得到丰富的应用体验及交换操作,而用户不会感觉到有网页提交或刷新的过程,页面也不需要被重新加载,应用的数据交换都被隐藏。

传统的 WEB 应用程序模型是这样工作的:用户的界面操作触发 HTTP 请求,服务器在接收到请求之后进行一些业务逻辑处理,如保存数据等,然后向客户端返回一个 HTML 页面。但这种方式并没有给予用户很好的应用体验,当服务器在处理数据的时候,用户则处于等待的状态,每一步操作都需要等待,太多的等待会使用户越来越没有耐心。而 Ajax 则大不相同,它通过 Ajax 引擎,使得应用过程很自然,操作很流畅,因为其只和服务器交换有用的数据,而页面显示等不必要的数据则不再重新加载。Ajax 引擎其实就是 JavaScript、XML、XMLHttpRequest 等等各项技术的综合应用。

传统 WEB 应用模型(左)与 Ajax 应用模型(右)
--图 1:传统 WEB 应用模型(左)与 Ajax 应用模型(右)的对比

传统 WEB 应用程序的同步交互模式(上)与 Ajax 应用程序的异步模式(下)
--图 2:传统 WEB 应用程序的同步交互模式(上)与 Ajax 应用程序的异步模式(下)的对比

当前都有谁在使用 Ajax

当前应用 Ajax 的已有不少网站,如:

Ajax 应用前景

Ajax 的最大挑战并不是技术,组成 Ajax 的各项技术已经相当成熟、稳定及易学,主要挑战是如何使用 Ajax 设计应用程序,我们必须抛弃以往对于 WEB 局限性的看法,开始开阔视野、开放思想、不断创新,实现更加丰富的应用体验。

出处:嘟嘟老窝

设计师怎样引导客户(转)
发布人:Alldnnskins | 发布时间:2010年02月09日 | 点击率:1295

这都是些什么?这与项目有关吗?这与设计师有关吗?答案是:有!而且这些问题应该是设计师在项目着手前应当去了解的事情。所谓设计师,是那个站在时代前沿,必须具备敏锐洞察力的职业,他们应该具备鹰一般的眼睛,随时注视着周围环境的瞬息万变。

潜规则说得好,先一统人心,再集体办事。引导客户的终极目的也在于此,先拉其入帮,同化其思想,更有助于后续工作的开展。那么,人都是有思想的,因此 你的介入性引导,也有可能不会得到预期的效果,这都依靠你在引导过程中的经验和手法。这就像你去按摩一样,第一次总是觉得像被揍,以后越来越舒服,都是一 个技术层面的东西。

1. 试图同客户站在同一战线

  客户一定是有底线的,你的设计不能太好,也不能太坏,不能太贵,也不能太贱,这是一个拿捏的过程。如何了解客户的底线?去拜访客户,去到他的地盘看他的山头插的什么旗。

  公司的规模,人员的素质,前台的相貌,会议室多大,客户的西装什么牌子,他们的市场在哪里,他们是否有专业的产品经理…这一切都在透露着客户的底线和心理价位,最重要的,还有对设计的认知程度。

  甲方与你直接对接的人,是对方的一把手,还是只是经办人?如果只是经办人,他是什么样的职位?在甲方单位中占据多少重量?他经办该项目是身负重担势必圆满完成否则有身家性命的风险,还是只想敷衍了事应付他们boss?甚至,该经办人是否潜规则了一点回扣?

  有时候你的客户并不是一手客户,他的背后还有人,因此你还要深入的观察和询问真正对设计有着决定和执行权的那层,或许他们的信息才是真正需要在设计中实践的部分 — 所以我强调,对于设计合作的引导应该从最高层的领导开始,或者从对项目有着决定意义的单位开始。

  这都是些什么?这与项目有关吗?这与设计师有关吗?答案是:有!而且这些问题应该是设计师在项目着手前应当去了解的事情。所谓设计师,是那个站在时代前沿,必须具备敏锐洞察力的职业,他们应该具备鹰一般的眼睛,随时注视着周围环境的瞬息万变。

  某设计师曾经手过这样一个网站设计项目, 经办人有着很多甲方那不可一世傲慢,丝毫不听取设计师的专业性建议,从项目一开始便对乙方有着敌对情绪,这样对项目的开展是很不利的。尔后设计师获取到这 样的信息:对接人是甲方该项目的项目经理,曾说服其boss开展该项目,遂找到设计方进行项目开发。那这代表着什么?他属于什么类型?他希望得到什么,害 怕发生什么?很显然,如果这项目搞砸了,他必当身败名裂,这就是他所害怕发生的。此时,本来设计师只用针对情况稍加引导便能水到渠成,可该客户极其主观, 仍是一意孤行,他的很多决策甚至触犯了很多设计的大忌和原则。

  此时,放在设计师面前的只有两条路,一是继续抗争,可这条路如果把握不当,轻者延误项目进度,加重双方的敌对情绪,重者遭到投诉甚至导致项目终止。二是逆来顺受,你爱怎么做,我就怎么做,只要项目顺利验收,无非就是多搞出了个垃圾项目而已。

  对,垃圾项目,相信每一个设计师都不愿意这样的事情发生,那么,此时他该如何去抗争,如何去扭转现状?

  那日,设计师借双方闲聊的机会,推心置腹的说道:“我一年要经手很多的项目,搞砸一个,对我来说并没有什么,更何况如果项目正常验收,理论上我 也不算做砸,而你不一样,我也在和你类似的公司工作过,也负责过很多项目,我很理解你现在的心情,我知道你也很想把项目做好,等等这些,是我结合多年的设计经验给你的针对性建议,很多都是有实际数据证明的,希望你能够听取……”

  尔后,双方成了朋友,项目也顺利完成,后来甲方借助该平台,业务开展得如火如荼,当然这和甲方自身强大的实力与丰富的资源密不可分,这是后话。

  从客户的角度出发,生活中也有不少的例子,比如你去餐馆吃饭,无良的餐馆的服务生总是会推荐餐牌上的招牌菜多半是价格昂贵的,而有一点同理心的餐馆会从客户角度出发建议你点什么,点多少,甚至我还遇到过根据你的用餐目的来定制点菜和服务的。

  同客户站在同一战线,是赢取客户信任的第一步,也是引导的第一个开端。

2. 强行引导会有反效果

  什么叫强行引导呢?我相信客户方最有发言权,就是一个不怎么样的设计师和公司来推荐,或者不太成熟的内部团队做演示,设计出来的玩意外行看了都 认为有点问题,他们自己还在说得眉飞色舞,什么“国际化风格”,“大气磅礴”,“精美绝伦”能用上的花言巧语全用上了,最后让人感觉像个小丑。

  引导的过程中,从见面的第一刻起就回避客户的眼光,或者看得要把客户吃掉一样,客户一有意见就说“根据我们的成功经验,你的这个看法是。。。。。”,基本上这种作风的引导方式只会带来恶劣的反效果。自信应该表现在做人做事的细节和缜密,而不是行为和语言的攻击性上。

3. 客户关注的也许是设计以外的事

  也许你不相信,大多数传统行业客户在听你的设计提案的时候,根本搞不清你在干嘛,他们关注的是你的语言流畅程度,关注你用什么笔记本电脑,关注 你的着装,关注你的自我介绍……直到,对,直到你提及他们的产品名称,价格,市场占有率,利润率,品牌影响程度和深度的时候,他们的耳朵才会竖起来。

  设计师放了太多精力在我们的设计过程中了,其实客户更关心的是“你这个设计究竟是怎么得来的?”“为什么要这么设计?”“用了这个设计产品就能 好卖么?”“你的设计为什么这么贵?” — 好了,这同你去旅游一样,如果景色不磅礴,路途不遥远,人烟不稀少,文化不异域,你会认为旅行的意义没有那么的厚重。

4. 不要扮演商务人员的角色

  有部分刚被一脚踢进社会的设计师,不小心误入了山寨的路线,认为“引导客户”就是和客户“搞关系”,有部分很不幸,真的搞出了关系。。。。。。陪吃陪喝,风花雪月其实不是我们设计师的擅长,也不必要。

  设计师必然是需要一些格调的,你和客户打成一片其实也未必就能让他对你的设计俯首称臣,设计需要交际,但是也需要挑客,你不能是个菜就捡进篮子里 — 我这么说确实现实了点,但现实远比这还卑鄙。

  如果你坚持要做设计行业的口碑,就绝对不要和山寨客户坐到一桌推杯换盏 — 但是我还是想赚他们的钱怎么办?请雇佣专业的商务人士出面解决你的尴尬。

6. 你的设计可能没有那么好

  当然,你的客户未必都是不懂设计的,所谓没吃过猪肉也见过猪跑,如果你的客户花费了3个月,看尽了各种花俏的提案,参加了上百场的设计推荐会 后,相信他的审美和设计理解也可以有一点改观和提升。那么,你在小处着眼的那些花花肠子不见得能起作用了,作为设计师,你至少应该保证自己的见识和作品是 客户“意料以外”的,有时候引导客户的关键就在于作品创意和客户认知之间的落差。

  如果可以的话,你想法了解一下共同争取客户的竞争对手的作品,找一找自己的差距,在任何方法都失效的情况下,也许问题就出在自己的身上,这是我们可以接受,并且要修正的。

来源:http://www.playw3c.com/yindaokehu/


  下一页 最后一页


版权所有:武汉努客科技 备案许可证号:鄂ICP备09017480号   |  隐私声明  |  服务条款