ASP.NET 与 AJAX的实现方式
到软件公司学IT技术http://www.tsp2c.cn/
Ajax 应该不是一项技术,是一种思想而已,跟 ASP.NET 以及其它 Web 开发语言没有什么太大关系,这里只是谈谈 ASP.NET 中目前使用的 Ajax 技术以及其它一些实现 Ajax 的优秀框架。
Ajax 已经很流行一阵子了,现在谈 Ajax 觉得有点老土。目前所谓的 Web2.0 网站,基本上没有不使用 Ajax 的,就如使用 RSS 一样,就如同一个标签,贴上去就成了 2.0。Ajax 具体细节不谈,其目的就是让用户触发一些操作的时候,页面不会全部刷新,只刷新待更新的“部分页面”,加载数据的过程中,用 Loading 的图片来表示正在加载数据,不只是看起来挺不错,也提高了用户的访问体验,有一种酷酷的感觉。
至于 ASP.NET 中用到的 Ajax ,我想大多数人使用的是 Ajax.net / AjaxProfessional 或者 ASP.NET 2.0 中带有的 Atlas 框架。因为都用过,我感觉这些都不是很好的 Ajax 解决方案。
AjaxPro 用起来不是很方便,页面需要在 Page_Load 里面注册,类似于
以下是引用片段:
private void Page_Load(object sender, System.EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(DataAccess.MyAjax));
}
而且 ASPX 页面要包含一个 Runat=Server 的 标记,这样 Ajax.net 会将用到的一些通用函数以及你自定义的函数加载进来,如果没有 其实也可以,手动添加就可以了。但是,在我以前做过的应用中,时常出现的一些问题,比如,经常发现浏览器状态栏会有 js 脚本错误,而此时你所做的 Ajax 效果会全部失效,解决办法就是,把那个 Ajax.dll /AjaxPro.dll 给重新覆盖一下就可以了,问题的原因究竟是什么,目前还不知道。
至于 Atlas,我对它的感觉其实就跟对 DataGrid 的感觉一样,嗯,这种控件的好用是好用,很方便,但是,真正做一些 Web 应用的时候,你不得不考虑到性能以及分层等各种问题。我想,在比较正式的 Web 应用中,没几个人去用 DataGrid 去显示一些数据吧,建议大家尽量少用这些控件。另外就是,Atlas 的执行效率确实不够理想,一直在那里 Loading,等了好长时间,竟然出现什么脚本错误,汗。
那还有没有其它解决方案吗?你可以自己写些 Javascript 函数去实现。不过,我这里推荐用 jQuery 这个 Javascript 框架,从百度百科引用一段对其的介绍:
jQuery 是继 prototype 之后又一个优秀的 Javascrīpt 框架。其宗旨是——WRITE LE
相关文档:
一、asp.net DataGridView导出到Excel的三个方法
#region DataGridView数据显示到Excel
/// <summary>
/// 打开Excel并将DataGridView控件中数据导出到Excel
/// </summary>
/// <param name="dgv">DataGridView对象 </param>
/// <param name="isShowExcle">是否 ......
1,如果是只安装了.net framework 1.1 在iis中是不显示那个选项卡的。默认就会支持asp.net1.1。在安装了.net framework 2.0后,iis站点属性里才会有asp.net的选项。
2,安装asp.net2.0后,请关闭iis窗口,重新打开iis,iis站点属性里才会有asp.net的选项
3,如果还没有,那么就要重新在IIS中注册asp.net,方法如下: ......
<%=%>绑定CS文件中的变量,有值的属性,或者有返回值的方法,
<%#%>一般式放在数据控件中绑定数据源表中的字段
<%=%><%#%>区别:
前者 是在页面之中使用.属于一段代码.有=号的就相当于response.write()这功能.和asp一样.
后者 是在页面中的服务器数据控件中绑定数据源的字段 ......
1、直接在前台调用 javascript 函数
很简单,在 head 元素之间加入 script 元素,将 type 元素设置为 " text/javascript "
如:
<head runat="server">
<script type="text/javascript" >
function ShowName(str)
{
alert("您的名字为:("+str+")");
}
</script>
<title> ......