亲密接触ASP.Net(5)
程序员文章站
2022-08-15 08:54:56
我们这一节主要是要讲databind,这个在asp.net中是很重要的东东,几乎所有的控件都需要它来控制数据的操作。也可以说是asp.net的数据核心。
我们先来看一个简单的...
我们这一节主要是要讲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>
<: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方法,这是最好的,但是用法过于烦。所以最好不要这样啦。我们可以用databinder.eval()方法,他的格式是:
databinder.eval(container.dataitem,"转换的类型","格式")
最后一个"格式"是可选的,一般不用去管他,container.dataitem是捆绑的数据项,"转换类型"指的是integer,string,boolean这一类东西.
有了它,我们处理数据就更加方便
最后我们来看一个例子,关于dataview的捆绑,呵呵,老是用dropdownlist烦了,这次用datagrid,在这个例子中我们可以看到"表是怎样炼成的"
<% @ page language="c#" %>
<% @ import namespace="system.data" %>
<script language="c#" runat="server">
public void page_load(object src,eventargs e)
{
int i;
//建立表数据
datatable dt=new datatable();
datarow dr;
//建立column例,可以指明例的类型,这里用的是默认的string
dt.columns.add(new datacolumn("编号"));
dt.columns.add(new datacolumn("用户名"));
for(i=1;i<8;i++)
{
dr=dt.newrow();
dr[0]=int32.tostring(i);
dr[1]="aspcn"+int32.tostring(i);
dt.rows.add(dr);
}
//捆绑
dg1.datasource = new dataview(dt);
dg1.databind();
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<asp:datagrid id="dg1" runat=server align=center headerstyle-backcolor="#aaaadd" />
</body>
</html>
我们见到的情况是: 编号 用户名
1 aspcn1
2 aspcn2
3 aspcn3
4 aspcn4
5 aspcn5
6 aspcn6
7 aspcn7
关于这个程序我就不多说了,程序中有说明,只是要注意我们这里bind的是dataview,不是datatable,这是一个常犯的错误:)
到这里我们的基础讲完了,大家要多多去熟悉一下web控件,不然以后不知所云的:)
后面,我们将花几个节来谈一下,的调用.
我们先来看一个简单的例子:
<% @ 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>
<: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方法,这是最好的,但是用法过于烦。所以最好不要这样啦。我们可以用databinder.eval()方法,他的格式是:
databinder.eval(container.dataitem,"转换的类型","格式")
最后一个"格式"是可选的,一般不用去管他,container.dataitem是捆绑的数据项,"转换类型"指的是integer,string,boolean这一类东西.
有了它,我们处理数据就更加方便
最后我们来看一个例子,关于dataview的捆绑,呵呵,老是用dropdownlist烦了,这次用datagrid,在这个例子中我们可以看到"表是怎样炼成的"
<% @ page language="c#" %>
<% @ import namespace="system.data" %>
<script language="c#" runat="server">
public void page_load(object src,eventargs e)
{
int i;
//建立表数据
datatable dt=new datatable();
datarow dr;
//建立column例,可以指明例的类型,这里用的是默认的string
dt.columns.add(new datacolumn("编号"));
dt.columns.add(new datacolumn("用户名"));
for(i=1;i<8;i++)
{
dr=dt.newrow();
dr[0]=int32.tostring(i);
dr[1]="aspcn"+int32.tostring(i);
dt.rows.add(dr);
}
//捆绑
dg1.datasource = new dataview(dt);
dg1.databind();
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<asp:datagrid id="dg1" runat=server align=center headerstyle-backcolor="#aaaadd" />
</body>
</html>
我们见到的情况是: 编号 用户名
1 aspcn1
2 aspcn2
3 aspcn3
4 aspcn4
5 aspcn5
6 aspcn6
7 aspcn7
关于这个程序我就不多说了,程序中有说明,只是要注意我们这里bind的是dataview,不是datatable,这是一个常犯的错误:)
到这里我们的基础讲完了,大家要多多去熟悉一下web控件,不然以后不知所云的:)
后面,我们将花几个节来谈一下,的调用.
上一篇: 科大讯飞智能语音鼠标MiMouse S即将上线:声音秒变文字
下一篇: 在山中挖草药迷路了