技术开发 频道

ASP.NET4与VS2010开发Ajax Library特征

  三、客户端数据访问

  Microsoft Ajax Library使我们有能够建立一个完全在Web浏览器端执行的数据库驱动的Web应用程序。有三种重要特征使我们借助于微软的客户端Ajax功能有可能实现客户端数据访问:

  ? 客户端数据控件

  ? 客户端模板

  ? 客户端数据上下文

  客户端的DataView控件能够支持您显示任何一条或一组数据库记录。您可以通过创建一个客户端模板来使用DataView控件显示数据库记录。例如,您可以使用类似下面的代码来显示所有的通过一个名为MovieService的WCF服务检索到的数据库记录:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  
<title>Movies</title>
  
<link href="Site.css" rel="stylesheet" type="text/css" />
  
<script src="Scripts/MicrosoftAjax/start.js" type="text/javascript"></script>
  
<script type="text/javascript">
    Sys.require([Sys.components.dataView, Sys.components.dataContext],
function() {    
        Sys.create.dataView(
"#moviesView",
            {
                dataProvider :
"Services/MovieService.svc",
                fetchOperation:
"GetMovies",
                autoFetch:
true
            }
        );
    });
  
</script>
</head>
<body>
  
<h1>Movies</h1>
  
<ul id="moviesView">
    
<li>{{Title}} - {{Director}}</li>
  
</ul>
</body>
</html>

 

  上面示例中的JavaScript代码使用客户端脚本加载器来加载DataView控件和DataView控件所使用的DataContext对象需要的所有脚本,最终实现从一个名为MovieService的WCF服务检索所需要的数据。下一步,创建了一个DataView控件并把它附加到一个HTML元素UL上(其ID 为moviesView)。

  客户端模板包含在页面的主体中,像下面这样:

<ul id="moviesView">
    
<li>{{Title}} - {{Director}}</li>
</ul>

   注意到,DataView控件使用客户模板来格式化从WCF服务检索到的每一个数据库记录。其中,占位符{{Title}}用于显示Movie.Title属性的值,而另一个占位符{{Director}}用于显示Movie.Director属性的值。

 

  当你请求上述文档时,将在Web浏览器中呈现一个如下所示的网页:

  您可以使用DataView控件来显示检索自不同数据源的数据。这些数据源包括:

  ? ASP.NET(.asmx)的Web服务

  ? WCF Web服务

  ? ADO.NET数据服务

  ? 返回JSON格式数据的任何内容。

0
相关文章