有时候我们需要自定DNN的登录界面比如把版式改为横版原始的DNN登录模块是竖向排列控件的如图 因为只是UI上的变化思路很简单找到对应控件的ascx文件修改其中的HTML和CSS即可具体可参考我之前的一篇文章在DotNetNuke中通过修改ascx文件源码自定义界面 但到了DNN x 情况有了一些变化admin\Security\signinascx 这个文件没有了 Login 控件被移到了Admin/Authenticaion/Loginascx 不就是移动了个地方吗还是照样改就可以了当你打开这个ascx文件时却发现怎么也找不到User Name和Passoword这些东西这是怎么回事呢? 原来DNN x为了支持多种登录方式对Login控件进行了重新设计因为用户可以设置使用多种登录方式所以登录的部分比如User Name 和Password是动态加入的在Admin/Authenticaion/Loginascx里我们可以看到这写代码 <DNN:DNNTabStrip ID=tsLogin runat=server TabRenderMode=All CssTabContainer=LoginTabGroup CssContentContainer=LoginContainerGroup DefaultContainerCssClass=LoginContainer DefaultLabelCssClass=LoginTab DefaultLabelCssClassHover=LoginTabHover DefaultLabelCssClassSelected=LoginTabSelected visible=false /> 这就是用来动态加载不同的登录方式的DNNTabStrip最后的效果如下(的登录窗口) 看到没 多了一个使用LiveID登录 了解了这一点我们就明白如何在DNN X下修改登录界面了不但要修改Admin/Authenticaion/Loginascx还有修改与你选择登录方式对应的登录控件单独的axcx文件 这几个Authentication Provider在这 几个目录下 DesktopModules/AuthenticationServices/DNN DesktopModules/AuthenticationServices/LiveID DesktopModules/AuthenticationServices/OpenID |