ASP编程:修改IEWebControls中TreeView的一处bug...
asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.treeview|web|treeview情况:多台Web服务器作负载均衡时,假如将XML字符串流作为数据源赋给TreeView,速率将很慢。一样平常情形下不会发明,可是的确存在
缘故原由:TreeView和TreeNode数据绑准时是先将传进的XML看成URL处置,堕落后才看成XML流。而在多台服务器的情形下因为页面在那台呆板是不断定的,也就是说其URL不断定,是由负载均衡机制及时定向到某台服务器的。
修改办法:
增添一属性TreeNodeSrcIsXmlStream设置XML是不是为字符串流。
修正办法ReadXmlSrc
申明:先依据属性来判别是不是为XML,而不是用非常处置来判别
完美点则再增添一办法IsXml在取属性时挪用,假如属性为空则用此办法判别TreeNodeSrc的范例
功效:判别字符串是不是为XML
参数:stringstr要判别的字符串
源码:
try
{
reader=GetXmlReaderFromUri(TreeNodeSrc,TreeNodeXsltSrc);
bReading=reader.Read();
}
catch
{
//couldntread.TryTreeNodeSrcasastring.
reader=GetXmlReaderFromString(TreeNodeSrc,TreeNodeXsltSrc);
if(reader!=null)
bReading=reader.Read();
}
改成:
if(TreeNodeSrcIsXmlStream)
{
reader=GetXmlReaderFromString(TreeNodeSrc,TreeNodeXsltSrc);
if(reader!=null)
bReading=reader.Read();
}
else
{
reader=GetXmlReaderFromUri(TreeNodeSrc,TreeNodeXsltSrc);
bReading=reader.Read();
}
htc中大概也存在,没看代码,要改的话道理一样。
结论:
用try...catch...这类非常处置机制来举行前提判别是欠好d举动。
</p>我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
页:
[1]