HtmlAnchor点击之后保持高亮,就是一个链接,在点击之后,还要保持高亮状态。应用在网站后台管理界面,左边菜单点击之后,菜单保持点击高亮状态。
为了实现这个功能,确实花上Insus.NET不少时间。因为a标签似乎只有一个瞬间状态,难于捕足到它。
下面是Insus.NET实现的过程。其础部分是使用这个演示作为资料: http://www.cnblogs.com/insus/p/3205293.html 。
为了控制到点击之后的HtmlAnchor的状态,我们必须知道那一个HtmlAnchor被点击了。从前面的演示中,可以看到每一个HtmlAnchor的href的值是不相同的,可以从这点来判断到操作者点的是哪一个HyperLink。只有找到href的值,就可以找到是哪一个链接,我们就可以对链接变更它的样式(style)。
OK, Insus.NET先写好一个接口(interface):
这个接口,只有一个只写属性,我们可以在链接打开的网页中,可以获取到打开当前页的网页地址。这们接口,是谁来实作呢?从接口可看到,它是赋值行为的。因此我们用MasterPage母版来实作。
下面的演示是重点部分,就是在母版页中,找到链接的HtmlAnchor。Insus.NET的是使用override void Render()的方法重写母版页的HtmlAnchor.
然后,去链接目标面,获取到Request.RawUrl,并传给母版MasterPage。
所有Page(1~5).aspx.cs均需要使用上面的代码,把当前页的地址给母版。
下面再把演示效果附上,算是完结了此篇的演示。