| 岩's profile混京城PhotosBlogLists | Help |
混京城常在京城混,咋就不生财? |
|||||
|
February 23 最简单的方法,让 ASP.NET Menu 控件在 Google Chrome 浏览器上正常显示这天心情不错,下载了Google Chrome 浏览器,用它浏览了一下自己做的网页,菜单显示的一塌糊涂。 网上找了一些文章,基本上都是用CssFriendly来解决的,感觉总是不太完美,看到了CssFriendly是在.browser文件里进行配置,忽然间想到研究一下.browser文件。 终于想到方法,在.browser文件里把 Google 浏览器表示出来,问题就可以解决了。 方法很简单,在ASP.NET网站项目中添加Others.browser内容如下,这样菜单在Safari3和Google浏览器下就都可以正常显示了 <browsers>
January 11 在多种浏览器下获取Javascript中的事件对象// 在多种浏览器下获取Javascript中的事件对象
function getEvent() { var e = window.event;
if (e) return e; for (var func = getEvent; typeof func != "undefined" && func; func = func.caller) if (func.arguments.length > 0 && (e = func.arguments[0]) && (e.constructor == Event || e.constructor == MouseEvent))
return e;
return null;
}
// 添加事件处理
function addEvent(elm, type, handler) {
type = type.toLowerCase();
if (type.length > 2 && type.substring(0, 2) == "on")
type = type.substring(2, type.length-2);
if (elm.addEventListener)
elm.addEventListener(type, handler, false); else if (elm.attachEvent) elm.attachEvent("on" + type, handler); else
{ var func = new function(e){ if (typeof(this.previousHandler) != "undefined" && this.previousHandler) this.previousHandler(e); this.currentHandler(e); }; func.previousHandler = eval("elm.on" + type); func.currentHandler = handler; eval("elm.on" + type + " = func;"); } } October 24 在 SQL Server 中生成自增序列号这里使用的是行锁定的排他锁,执行带有“WITH (ROWLOCK, XLOCK) ”的SELECT语句后会将这条记录锁定,其它线程对该记录的插入或修改操作都会被延迟到存储过程结束;如果在锁定后进行了插入或修改操作,之后的所有对该行的操作(包括查询)都被延迟到存储过程结束。 如发现缺陷请留言指教,代码如下: -- 创建表 -- 创建存储过程 --调用 March 25 电话,手机回家路上, 一对脚印引起了我的注意, 正在苦思其来历, 一40来岁猛男以迅雷不及掩耳盗铃之势, 三步并作两, 走到这两个脚印上, 摆出一超酷的姿势, 虽一把年纪, 却魅力不减当年金戈铁马, 还玩行为艺, 继续看, 口中还念念有词不达意: "电话卖吗? 手机卖吗?"。
狂FAINT! January 12 Menu 的权限控制之前用过 ASP.NET 2.0 的菜单,只是用作普通显示,这两天晚上对菜单的权限研究了一下,如果使用了集成的Membership等组件,菜单的权限控制真是...那个词叫什么来着?好像是叫唾手可得吧。
.NET 2.0 的新功能中有一个组件叫做站点地图(Sitemap),它默认通过读取站点地图文件(XML)来获取地图数据;而菜单可以与站点地图之间实现绑定。
首先,在Web.config中配置好站点地图的提供程序,代码如下:
<system.web>
<siteMap defaultProvider="XmlSiteMapProvider">
<providers> <clear /> <add siteMapFile="web.sitemap" name="XmlSiteMapProvider" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" securityTrimmingEnabled="true" /> </providers> </siteMap> </system.web>
红色那个属性,就是启用权限控制,称为“安全修整”。 然后,在Sitemap文件中对各菜单项进行配置,设置sitemapNode节的roles属性,加入允许的角色,用逗号分隔。如果所有用户都可以访问,设置为“*”。
再在控件中加入权限控制,那所有的工作基本就完成了。
不要惊讶,就是这么简单。
注意:如果父节点的链接不为空,则这个节点对应的菜单项始终可见。
|
|
||||
|
|