国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

親密接觸ASP.net(5)

2024-07-10 12:56:00
字體:
來源:轉載
供稿:網友
,歡迎訪問網頁設計愛好者web開發。現在是已經是凌晨2點了,沒有辦法,現在只有這個時間才可能有多余的時間來寫這些文章,希望我的這一系列文章能夠幫助更多的人.我們這一節主要是要講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>

最后的顯示為:

 

我們在代碼中可以看到我們建立了一個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技術我們點擊"提交"按鈕,看到情況是:


你現在選擇的是: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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宣威市| 白水县| 曲阜市| 兴安盟| 高雄县| 长治县| 鹤山市| 遵义市| 龙岩市| 新田县| 自贡市| 庄浪县| 永福县| 咸宁市| 武川县| 兴文县| 会昌县| 常熟市| 晴隆县| 罗源县| 纳雍县| 汨罗市| 南岸区| 连山| 涞源县| 南康市| 永州市| 宜黄县| 富裕县| 长乐市| 兴化市| 曲沃县| 湄潭县| 沈丘县| 汽车| 扬中市| 长沙市| 西安市| 共和县| 民乐县| 青铜峡市|