近来项目里用到很多小技巧,在这里做个总结。
1. Asp.Net的Forms验证以及Remember Me的自动登录功能。
使用Asp.Net的Login控件后,发现勾选Remember Me的选项后并没有自动实现自动登录功能。我们需要做的,是再添加一些自己的代码,一般的做法是结合Cookie来实现这种功能。
这里有一篇写得很详细的文章作为参考。PS:Request.IsAuthenticated属性很重要,用来判断是否经过合法登录验证。
2. Asp.Net支持的多语言功能。
Asp.Net有强大的多语言支持,不同的语言可以写在不同的资源文件里面。比如,在App_GlobalResources文件夹下,CommonResources.resx代表默认语言资源文件,CommonResources.de.resx代表德语资源文件,等等。
那么,如何实现.Net中多语言的支持呢?很简单,在Base Page中加入以下代码:
try
{
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(LanguageKey);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(LanguageKey);
}
catch
{
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(DefaultLanguage);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(DefaultLanguage);
}
PS:这里附一篇关于多语言命名规则的参考
3. 一些关于视频播放的embed模板,只有一部分,以后会慢慢更新。
4. 在页面中加入如下script后,即使没有装FireBug的插件也能使用。
<script type='text/javascript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>
或者使用超链标签:
<a href="javascript:(function(F,i,r,e,b,u,g,L,I,T,E){if(F.getElementById(b))return;E=F[i+'NS']&&F.documentElement.namespaceURI;E=E?F[i+'NS'](E,'script'):F[i]('script');E[r]('id',b);E[r]('src',I+g+T);E[r](b,u);(F[e]('head')[0]||F[e]('body')[0]).appendChild(E);E=new%20Image;E[r]('src',I+L);})(document,'createElement','setAttribute','getElementsByTagName','FirebugLite','4','firebug-lite.js','releases/lite/latest/skin/xp/sprite.png','https://getfirebug.com/','#startOpened');">Firebug Lite</a>
5. 特殊字体的解决方案