不支持包含 Clr 类型“ConcatString”的扩展函数参数或返回值。
网上找不到答案,没办法,自己想法排错,最终问题解决
不支持包含 Clr 类型“ConcatString”的扩展函数参数或返回值。
网上找不到答案,没办法,自己想法排错,最终问题解决
纸上来得终觉浅,绝知此事要躬行,我不知道读者在看完在Xslt中用递归做无限级分类三部曲之初级篇有没有自己尝试去改进一下呢,如果没有,我建议你先自己对之进行扩展再来看这篇。如果你还看的话,那你应该先去看基础篇,因为只有在第一篇的基础之上,才理解本篇,
虽然在上一篇我们实现了无限级分类,但我们对实现的结果还是不满意,因为实现的树居然不能收缩,这是无法容忍的。所以在这一节,我们将要攻克这个难关,实现可以收缩的树。
应该是怎么收缩呢?收缩有两种方式,一种是点击当节点,就收缩或扩展当前子节点,我把它称之为单一收缩;另一种是点击当前节点,如果当前节点是收缩状态,则扩展当前节点并且收缩其它同级节点,反之则收缩当前节点,我将之称之为联动收缩。两种方式各有优劣,根据不同的情况与不同人的爱好也会有不同的需求,怎么办呢?我想在xml中加一个开关,在xslt根据此开关,来判断是否收缩其它同级节点。于是我在上一篇规划的xml中的根节点的Items中增加一个这样的属性AutoShrink,是否自动收缩,用yes|y|1表示自动收缩同级节点,用no|n|0表示不自动收缩。
Xslt没什么太多语法与函数,非常简单,所以Xslt是最合适考验程序员的编程技巧的,能做简单的语言做出不简单的功能,是每一个程序员应该追求的目标。本来我想用一篇把Xslt做树的例子讲完,但写着写着,发现要想让初学者明白,一篇可能有些难度,于是我决定用三篇把它讲完,分为基础篇、进阶篇以及终结篇。三篇层层递进,由浅入深.如果你看完之后,不仅会用Xslt做树,还能收获一些编程的技巧,那我也就没有白写这个三部曲了。
既然是基础篇,我们就应该明白基础篇的需求,没有明确需求就无法实现想要的功能,我们的需求很简单,就是用Xslt结合Xml实现一个树状的列表,就好像Windows的资源管理器一样,并且可以能过对Xml进行修改,实现任意级的树状列表。
在周未的时间里,忙了两个小时,终于把示例代码写完了,虽然很累,但却很开心,因为我知道这个示例代码将会给很多人带来启发,它是有价值的,它的价值也将体现我的价值,不是么?
在你看这篇文章之前,我想唠叨几句,我希望你在看文章也好,看示例代码也好,着重是看其中的思想与技巧,举一反三,而不是直接拿代码就去使用了。或许你会有更好的实现方法,没关系,我希望我这篇文章能起到抛砖引玉的作用,让我们一起进步。看这篇文章,你可能需要具备一些基础的知识,如Javascript、CSS、Xslt、Xml,当然这不是必需的,如果你悟性比较高的话。闲话少讲,言归正传,follow me!让我们步入Xslt神奇的殿堂吧
首先,我们应该了解一下需求:
1、要求在一个页面中有若干个标签块(即是由若干个标签组成的区域),并且通过Xslt格式化Xml
2、具备扩展性,标签及签块可以在xml中自由添
3、鼠标移至不同的标签,会显示相应的内容
现在很多网站都用到了标签的切换功能,新浪、迅雷等网站都有,应该说用很很泛滥了。其实标签功能是Windows程序中的一种功能,在Delphi或VB等Windows程序开的环境中,很容易就能创建各种漂亮而又功能强大的标签功能,但在Web开发中,就没有这种便利了。
只所有说实现无限标签功能,是因为标签的数量可以自由添加,而无需要为标签添加ID,实现上这个功能除了用到Div、Javascript之后,很重要的是要用到CSS样式。
如果我们在一个Xml中有N个子结点,我们希望取得其中的指定位置的节点,我们应该怎么做呢?我们有三种方法可以实现这个功能。
初学者常会遇见这样的情况,通过Xslt格式经输出的html页,明明在查看源代码中什么都有,但就是不能在IE中显示出来,在Firefox中确显示正常,在Dreamweaver的所见即所得编辑器中也正常。我以前也为这个问题迷惑过,还就此问题问了孟子E章,在此谢谢孟子。
在xslt开发工作中,我们有时候会需要构造一个多列的表格,例如显示照片,我们要求每行显示3张照片,在用.net/javascript/asp开发都很好控制,但如果用xslt的来构造多列的表格,你知道么?如果你知道就别看了:)
表达式中出现意外的标记“
最新评论