这个项目是要求页面全部为静态的.所以不管是首页还是新闻浏览页我都生成了SHTML.
但遇到了些问题,像Repeater等这样的显示控件可以在服务器端循环替换掉模板里的特定字符就行.
如果遇到了登陆或者提示评论等的页面,类似博客园文章浏览页下面的评论.这样怎么办?
有的说利用AJAX可以解决,那ScriptManager这些控件也用Response输出吗?以前用过Ajax.NET,引入JS,调用WEB服务就行了.但是用ASP.NET AJAX怎么实现呢,ScriptManager的作用就是引入了几个主要的JS文件,如果手动把这些文件引入,能做吗?
或者有更好方法来实现?看了博客园文章页的源代码,里面还有很多控件的状态等信息是怎么实现的...
可以有用ajax.net来做的,用原汁原味的ajax来实现吧,或者用prototype来做
asp.net ajax也可以调用web service,那些JS中有些是自动生成的,所以手动生成怕是不行
另外,如果使用了 UpdatePanel,那么将无法使用 Repsonse.Write()
好久没有搞asp.net ajax了,很久前写过一个简单的示例,现在可能因为版本升级有一些小问题,不过大概方式应该差不多,你可以看看:
http://www.cnblogs.com/dingxue/archive/2007/03/17/678383.html
简单点,那些信息(比如评论)都由后台系统通过 *.xml 透露出来,静态页面的脚本解析该 *.xml 并显示 即可(可自动刷新、或手动刷新最新评论)。当然,这里的 *.xml 肯定是伪静态,那么在缓存的策略上再做些附加工作就可以了。
好像说多了,就不自觉的往 mvc 的方向走。
题外话:有必要动辄 ajax.net 控件组吗?
这个....直接ajax就可解决,借助prototype,jquery这些库都可以很方便的实现你要的功能