当前位置: 首页 > 图文教程 > 网络编程 > ASP > 亲密接触ASP.Net(5)

ASP
基于ASP的收发文管理系统的设计与实现
用ASP制作张扬个性的调查系统
使用XMLHTTP制作域名查询系统
Delphi编写组件封装asp代码的基本步骤
采用XMLHTTP编写一个天气预报的程序
菜鸟详听ASP中也能解压缩rar文件
用Asp+XmlHttp实现RssReader功能
纯ASP代码之公历转农历实现(含属相)
纯ASP代码之公历转农历实现(含属相)--例子代码
多个域名后缀同时查询的域名查询系统
实现有管理功能的ASP留言板
Jmail发信的实例,模块化随时调用
纯ASP(VBscript)写的全球IP地址搜索程序
数字和字母组合并生成图片的验证码祥解
金额大小写转换的asp完全无错版本
用ASP学做一个在线调查
利用客户端js实现汉字简体繁体转换
ASP操作XML文件的完整实例
浅谈TeeChart组件在ASP中的应用
在VB中利用Word宏命令开发ASP组件

亲密接触ASP.Net(5)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 228 ::
收藏到网摘: n/a

  我们这一节主要是要讲DataBind,这个在ASP.net中是很重要的东东,几乎所有的控件都需要它来控制数据的操作。也可以说是ASP.net的数据核心。

我们先来看一个简单的例子:

<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<Script Language="C#" Runat="Server">
public void Page_Load(Object src,EventArgs e)
{
   //首先建立一个数组
   ArrayList arr=new ArrayList();
   arr.Add("飞刀");
   arr.Add("Zsir");
   arr.Add("大风");
   arr.Add("布丁");
   arr.Add("亚豪");

   //将数组捆绑到DropDownList控件上去
   DDL.DataSource = arr;
   DDL.DataBind();
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<asp:DropDownList id="DDL" runat="server" />
</body>
</html>

最后的显示为:

   飞刀 Zsir 大风 布丁 亚豪

我们在代码中可以看到我们建立了一个DropDownList,但是他没有<asp:ListItem>属性,而我们从最后的显示中依然可以看到我们所列出的选项。

这里就是我们用DataBind的结果,在Page_Load方法中我们建立了一个数组(ArrayList),并通过DataBind方法将这个数组捆绑到了DropDownList控件中,使得DropDownList最后有数据显示:),怎么样对Bind有一定感性认识了吧。下面我们开始正式讲解

其实DataBind(),不仅能对控件进行捆绑,而且还能够对页面中属性,方法进行捆绑,甚至整个页面都可以捆绑。比如,调用Page.DataBind()方法或者直接使用DataBind(),那么整个页面都将被捆绑,所有的数据全在监视之下。下面的例子,我们将使用DataBind方法来捆绑DropDownList,并获得其中的数据

<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<Script Language="C#" Runat="Server">
public void sub_Click(Object sender,EventArgs e)
{
Page.DataBind();
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<form runat=server>
  <asp:DropDownList id="DDL" runat="server" >
  <asp:ListItem>ASP技术</asp:ListItem>
  <asp:ListItem selected>ASP.Net技术</asp:ListItem>
  <asp:ListItem>JSP技术</asp:ListItem>
  <asp:ListItem>PHP技术</asp:ListItem>
  <asp:ListItem>组件技术</asp:ListItem>
  </asp:DropDownList>
<br>
你现在选择的是:<font color=red><%# DDL.SelectedItem.Text %></font>区
<br>
<asp:Button id="sub" Text="提交" Type="submit" runat=server OnClick="sub_Click" />
</form>
</body>
</html>

执行后,我们选择JSP技术我们点击"提交"按钮,看到情况是:

  ASP技术 ASP.Net技术 JSP技术 PHP技术 组件技术
你现在选择的是:JSP技术区






我们看到,那个红色的[JSP技术],我们并没有使用什么控件,但是他却能正确的显示我们的选择结果,这个是就捆绑的结果,注意<%# DDL.SelectedItem.Text %>这句话,正是它让我们取得了捆绑的数据。它看上去是不是像我们熟悉的<%=...%>这个语句,它们的使用方法相差不多,只是<%=...%>是在程序执行时调用,<%#... %>是在DataBind()方法之后被调用。以后我们还能经常看到他的身影,呵呵。

接收Bind的控件,一般有DropDownList,DataList,DataGrid,ListBox这些集合性质的控件,而被捆绑的主要是ArrayList(数组),Hashtable(哈稀表),DataView(数据视图),DataReader这四个,以后我们就可以对号入座,不会出现DataTable被捆绑的错误了:)

讲到Bind,就不能说一下DataBinder.Eval()方法.

我们在使用DataBind,获得的数据,系统会将其默认为String(字符串),这对我们平时的输出显示提供了极大的方便,但是我们并不是每次都需要string类型,有时我们就需要Boolean,Int32这些类型。此时我们就需要转化类型了。可能大家最先想到的是String.Format方法,