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

首頁(yè) > 編程 > ASP > 正文

asp+中文教程(二)---- Asp+ Web Forms

2024-05-04 11:06:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
中國(guó)最大的web開(kāi)發(fā)資源網(wǎng)站及技術(shù)社區(qū),
asp + web forms ,一個(gè)微軟的新名詞,照它自己的話說(shuō),asp + web forms頁(yè)面框架是一個(gè)可升級(jí)的ngws runtime編程模型,可以在服務(wù)器上動(dòng)態(tài)產(chǎn)生網(wǎng)頁(yè)。不太好懂是嗎,其實(shí)說(shuō)白了,和html的表單一樣,但它可以在服務(wù)器端動(dòng)態(tài)改變,而不象靜態(tài)html表單那樣一旦生成就無(wú)法改變,當(dāng)然,用dhtml或remote script也可以做到動(dòng)態(tài)改變,但畢竟不是很方便。那么,究竟web forms是個(gè)什么樣呢?其實(shí)你已經(jīng)見(jiàn)過(guò)了,記得上次我給的那個(gè)例子嗎,沒(méi)錯(cuò),那就是一個(gè)web forms ,不過(guò)由于那個(gè)例子里全是靜態(tài)html,所以當(dāng)你按下”lookup”按鈕時(shí)只不過(guò)是提交一次表單而已,什么都沒(méi)有發(fā)生,現(xiàn)在讓我們來(lái)看一個(gè)真正意義上的web forms ,它帶有一個(gè)廣告輪換控制,一個(gè)文本輸入框,一個(gè)選擇框、一個(gè)按鈕和一個(gè)文本標(biāo)簽,代碼如下。

file : intro6.aspx

<html>
   <head>
      <link rel="stylesheet"href="intro.css">
   </head>

   <script language="c#" runat=server>

       void submitbtn_click(object sender, eventargs e) {
           message.text = "hi " + name.text + ", you selected: " + category.selecteditem;
       }

   </script>

   <body>

       <center>

       <form action="intro6.aspx" method="post" runat="server">

           <asp:adrotator advertisementfile="ads.xml" bordercolor="black" borderwidth=1 runat="server"/>

           <h3> name: <asp:textbox id="name" runat="server"/>

           category:  <asp:dropdownlist id="category" runat=server>
                         <asp:listitem>psychology</asp:listitem>
                         <asp:listitem>business</asp:listitem>
                         <asp:listitem>popular_comp</asp:listitem>
                      </asp:dropdownlist>

           <asp:button type=submit text="lookup" onclick="submitbtn_click" runat="server"/>

           <p>

           <asp:label id="message" runat="server"/>

       </form>

       </center>

   </body>
</html>

好了,現(xiàn)在我們來(lái)具體看一下這個(gè)asp+ 程序和asp到底有什么不同,首先你可能注意到,原來(lái)asp的<% %>腳本定界符不見(jiàn)了,取而代之的是<script language=…>,說(shuō)實(shí)話,原來(lái)我最痛恨的就是這個(gè)<% %>了,尤其是在html中混用的時(shí)候,簡(jiǎn)直不象一種編程語(yǔ)言,你要從這樣一段程序里看出程序流程來(lái),簡(jiǎn)直比登天還難,現(xiàn)在好了。當(dāng)然這不是說(shuō)你現(xiàn)在不能用<% %>,畢竟它是向前兼容asp的嘛,不過(guò)我還是盡量少用為妙。看下面一段:
   <script language="c#" runat=server>

       void submitbtn_click(object sender, eventargs e) {
           message.text = "hi " + name.text + ", you selected: " + category.selecteditem;
       }

   </script>
用過(guò)c的朋友是不是覺(jué)得很熟悉?沒(méi)錯(cuò),這是用c#寫(xiě)的一個(gè)事件處理函數(shù),void submitbtn_click(object sender , eventargs e) ,你可能一看就明白了,void代表該函數(shù)沒(méi)有返回值,該函數(shù)帶有兩個(gè)參數(shù), 代碼只有一行,你可能注意到這行代碼中的message、name、category你并沒(méi)有定義,那么它們從哪里來(lái)的呢?看下面的代碼:
       <form action="intro6.aspx" method="post" runat="server">

           <asp:adrotator advertisementfile="ads.xml" bordercolor="black" borderwidth=1 runat="server"/>

           <h3> name: <asp:textbox id="name" runat="server"/>

           category:  <asp:dropdownlist id="category" runat=server>
                         <asp:listitem>psychology</asp:listitem>
                         <asp:listitem>business</asp:listitem>
                         <asp:listitem>popular_comp</asp:listitem>
                      </asp:dropdownlist>

           <asp:button type=submit text="lookup" onclick="submitbtn_click" runat="server"/>

           <p>

           <asp:label id="message" runat="server"/>

       </form>

這個(gè)表單的寫(xiě)法和html表單完全不同了吧?首先,所有的表單項(xiàng)包括表單本身后面都加上了runat=server,這句話的意思就是說(shuō)這個(gè)是服務(wù)器端控制項(xiàng),另外象傳統(tǒng)表單的什么<input type=text>等的寫(xiě)法都變了,你仔細(xì)觀察一下可以看出,原來(lái)的文本框變?yōu)?lt;asp:textbox>,選擇框變?yōu)?lt;asp:dropdownlist> , 選擇框選項(xiàng)變?yōu)?lt;asp:listitem>,而submit按鈕變?yōu)?lt;asp:button>,這個(gè)按鈕對(duì)應(yīng)的控制函數(shù)就剛才我提到的那個(gè)submitbtn_click函數(shù),它是運(yùn)行在服務(wù)器端的。另外還有一個(gè)服務(wù)器端控制<asp:label id=”message” runat=”server”/>,這個(gè)asp:label是傳統(tǒng)表單所沒(méi)有的,它是一個(gè)服務(wù)器端文本控制,那么就存在一個(gè)問(wèn)題,如果傳統(tǒng)的html里沒(méi)有這個(gè)元素,那么asp+是怎么接收的呢?你運(yùn)行一下這個(gè)程序,然后看一下html源碼,你會(huì)發(fā)現(xiàn)這么一行:
<input type="hidden" name="__viewstate" value="a0z-1715863018__x">
對(duì),asp+就是通過(guò)這個(gè)隱藏表單的形式傳遞過(guò)去的。
在<form>標(biāo)記下有這么一行代碼:
<asp:adrotator advertisementfile="ads.xml" bordercolor="black" borderwidth=1 runat="server"/>
asp:adrotator,這也是一個(gè)服務(wù)器端控制,看名字你就知道了,廣告輪換嘛,不過(guò)相對(duì)asp,它現(xiàn)在不是使用內(nèi)置組件,而是作為一個(gè)服務(wù)器端控制,控制它顯示的就是這個(gè)ads.xml,代碼如下:

file ads.xml:
<advertisements>

   <ad>
      <imageurl>/quickstart/aspplus/images/banner1.gif</imageurl>
      <targeturl>http://www.microsoft.com</targeturl>
      <alternatetext>alt text</alternatetext>
      <keyword>computers</keyword>
      <impressions>80</impressions>
   </ad>

   <ad>
      <imageurl>/quickstart/aspplus/images/banner2.gif</imageurl>
      <targeturl>http://www.microsoft.com</targeturl>
      <alternatetext>alt text</alternatetext>
      <keyword>computers</keyword>
      <impressions>80</impressions>
   </ad>

   <ad>
      <imageurl>/quickstart/aspplus/images/banner3.gif</imageurl>
      <targeturl>http://www.microsoft.com</targeturl>
      <alternatetext>alt text</alternatetext>
      <keyword>computers</keyword>
      <impressions>80</impressions>
   </ad>

</advertisements>

自己看一下吧,我就不詳細(xì)解釋了。

好了,現(xiàn)在再運(yùn)行一遍這個(gè)程序,好好體會(huì)一下它與asp的區(qū)別,準(zhǔn)備下次的內(nèi)容。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巫山县| 蒲城县| 望谟县| 炉霍县| 玉溪市| 北辰区| 右玉县| 繁昌县| 桃园县| 丹东市| 安康市| 深圳市| 新闻| 游戏| 金平| 安塞县| 定远县| 介休市| 禄劝| 新竹县| 台中市| 织金县| 敦化市| 崇明县| 德江县| 武陟县| 晴隆县| 沧州市| 河东区| 华坪县| 铁岭县| 蛟河市| 阿克陶县| 潞城市| 南漳县| 灵台县| 德安县| 翁牛特旗| 西青区| 望城县| 宁远县|