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

首頁 > 編程 > .NET > 正文

ASP.NET在服務(wù)器端控制網(wǎng)頁

2024-07-10 13:11:48
字體:
供稿:網(wǎng)友
  • 網(wǎng)站運營seo文章大全
  • 提供全面的站長運營經(jīng)驗及seo技術(shù)!
  •   使用.net和c#開發(fā)web應(yīng)用程序往往能給我們很大的啟示,尤其在開發(fā)相對簡單的例行任務(wù)時就更是如此。例如,在許多時候,我們都需要有條件地顯示一個網(wǎng)頁的一部分。需要這么做的原因有許多,例如,根據(jù)用戶的角色,有一部分是它不應(yīng)當看到的。或者,我們也可以考慮搜索功能,只有點擊了一個鏈接后,搜索選項才是可用的。

      我們先來解釋一下解決這一問題的方法,然后再詳細地解釋所使用的代碼。在.net中開發(fā)web應(yīng)用程序,我們既可以使用服務(wù)器端的web控件(web表單)也可以使用html控件。使用.net開發(fā)web應(yīng)用程序的重點是服務(wù)器端控件。我們在本文中就使用了web表單服務(wù)器端控件。

      panel是一個服務(wù)器端的web表單控件,一個panel控件就是html網(wǎng)頁上的一個矩形區(qū)域,它是否可見可以在服務(wù)器端進行控制。因此,首先,我們可以從將html代碼段放在一個panel控件中,html代碼段可以由服務(wù)器端控件和客戶端控件組成。一旦我們將panel控件的visibility屬性設(shè)置為“false”,則整個html代碼段就成為不可見的了。其次,我們可以使用名字為linkbutton的另一個web表單控件,它本質(zhì)上是一個超級鏈接,但通過服務(wù)器端的onclick方法,它可以起到按鈕的作用。在這種方法中,我們只要簡單地訪問panel對象的c#語言表示,并將其visibility屬性設(shè)置為true或false,網(wǎng)頁就會自動地刷新自己。

      在.net中開發(fā)web應(yīng)用程序的一個重要差別是,網(wǎng)頁上的每個控件都被表示為服務(wù)器端的一個.net對象,而且這些對象(控件)的狀態(tài)通過與服務(wù)器間的多次交互來維護,這就使我們能夠?qū)Ψ?wù)器端和客戶端的事件作出反應(yīng)。響應(yīng)服務(wù)器端的事件時,百網(wǎng)頁重新刷新時,其內(nèi)部的所有對象(控件)也都會得到刷新。我們無需再繪制任何控件,這一切都是自動完成的。這種方法最有吸引力的是一個好的面向?qū)ο缶幊倘藛T能夠在一種編程語言模式中工作,而且可以方便地使用javascript,調(diào)試也非常簡便。這種方法的一個小問題就是它不能使用frontpage或dreamweaver等html代碼編輯器。一旦這個問題得到了解決,服務(wù)器端的編程模式就更完善了。

      下面是編寫本文中例子代碼所需要的步驟:

      ·為html代碼段獲得panel控件。
      ·將html代碼置入panel控件中。
      ·創(chuàng)建一個linkbutton控件。
      ·提供一個onclick函數(shù)。
      ·在按鈕的點擊函數(shù)中隱藏/顯示panel控件。

      1、為html代碼段獲得panel控件

      打開網(wǎng)頁(.aspx)的設(shè)計視圖,并選擇“webforms控件”工具箱,從工具箱中拖出一個panel控件到html網(wǎng)頁的設(shè)計視圖上。這時就會看到一個矩形框,發(fā)改變它的大小,直到能夠容下你想輸入的html代碼段。

      下面是html設(shè)計視圖中panel控件的定義:

    <table cellspacing=0 cellpadding=0 width=600 bgcolor=#ffffff border=0>
    <?xml:namespace prefix = asp />
    <asp:panel id=testpanel width="398px" height="171px" runat="server">
    html goes here
    </asp:panel>
    </table>

      2、將我們的html代碼輸入到panel控件中

      在panel控件中編寫相關(guān)的html代碼(或?qū)tml代碼拖到panel控件中),下面是一個例子:

    <asp:panel id=testpanel width="398px" height="171px" runat="server">
    <h2>an example html segment that is going to disappear </h2>

    an example drop down

    <asp:dropdownlist id=adropdownlistbox runat="server">
    </asp:dropdownlist>
    </asp:panel>

      3、創(chuàng)建一個linkbutton控件

      我們需要對這一部分作一些解釋。我們?yōu)槭裁磿胠inkbutton控件取代一個超級鏈接呢?超級鏈接意味著我們可以隨意到包括當前的網(wǎng)頁在內(nèi)的任意網(wǎng)頁上,但并不意味著我們要返回正在修改的網(wǎng)頁。另外,也沒有象onclick這樣能夠處理超級鏈接的服務(wù)器端方法。

       linkbutton的外觀和風(fēng)格與hyperlink相同,但它還有另外二點好處,即:

      ·點擊時能夠返回同一個網(wǎng)頁。
      ·便于使用的onclick方法。

      下面是一個linkbutton控件定義的例子:

    <asp:linkbutton id=changeappearancebutton runat="server">
    change appearance
    </asp:linkbutton>

      4、提供onclick函數(shù)

      如果雙擊linkbutton控件,ide就會自動地將我們引到服務(wù)器端該控件的onclick方法處,在這里我們就可以編寫隱藏panel控件的代碼。

      5、在按鈕的onclick方法中隱藏/顯示panel控件

      下面是onclick方法的一個例子:

    private void changeappearancebutton_click(object sender, system.eventargs e)
    {
    this.testpanel.visible = this.testpanel.visible ? false : true;
    }

      上面的代碼是一個極好的知道如何維護自己狀態(tài)的用品端編程模式的例子。當用戶點擊鏈接時,就會執(zhí)行上面的代碼,但開發(fā)人員并沒有改變html網(wǎng)頁的其他部分,控件本身知道如何刷新它們自己。

      結(jié)論

      下面是我從.net模式中精選出來的非常有趣的特性:

      ·服務(wù)器端編程模式。
      ·web表單的狀態(tài)是自動維護的。
      ·高度一致的前、后端統(tǒng)一對象編程模式。
      ·用處很大的ide能夠提示每個方法和可能的參數(shù)。
      ·在網(wǎng)頁的html視圖中編寫xml代碼也有提示。
      ·配置所需要的統(tǒng)一的web.config。

      盡管本文中的例子相當簡單,即使使用傳統(tǒng)的方法也能夠非常簡單地實現(xiàn),但這種服務(wù)器端的編程模式說明了net的一個有趣的特性,即能夠自動維護其狀態(tài)的一致的統(tǒng)一服務(wù)器端編程模式。

    發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 辰溪县| 定结县| 大悟县| 渝北区| 都兰县| 从化市| 旅游| 长葛市| 芷江| 和平县| 白朗县| 卢龙县| 凤庆县| 梁河县| 赫章县| 丰原市| 颍上县| 锦州市| 镇巴县| 茌平县| 安康市| 营口市| 绵阳市| 文成县| 中宁县| 南和县| 永吉县| 海盐县| 新津县| 馆陶县| 随州市| 北辰区| 开化县| 泾阳县| 巴塘县| 交口县| 镇坪县| 瑞金市| 承德县| 武隆县| 蚌埠市|