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

首頁 > 編程 > .NET > 正文

ASP.NET實現(xiàn)在服務(wù)器端控制網(wǎng)頁

2024-07-10 12:55:04
字體:
供稿:網(wǎng)友
菜鳥學(xué)堂:
    使用.net和c#開發(fā)web應(yīng)用程序往往能給我們很大的啟示,尤其在開發(fā)相對簡單的例行任務(wù)時就更是如此。例如,在許多時候,我們都需要有條件地顯示一個網(wǎng)頁的一部分。需要這么做的原因有許多,例如,根據(jù)用戶的角色,有一部分是它不應(yīng)當(dā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控件的定義:

<?xml:namespace prefix = asp />
<asp:panel id=testpanel width="398px" height="171px" runat="server">
html goes here
</asp:panel>

  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控件取代一個超級鏈接呢?超級鏈接意味著我們可以隨意到包括當(dāng)前的網(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)的用品端編程模式的例子。當(dāng)用戶點擊鏈接時,就會執(zhí)行上面的代碼,但開發(fā)人員并沒有改變html網(wǎng)頁的其他部分,控件本身知道如何刷新它們自己。

   結(jié)論

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

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 鹤峰县| 陇南市| 玉龙| 台南县| 房山区| 老河口市| 云浮市| 四会市| 濮阳市| 莱芜市| 兴仁县| 沁水县| 五莲县| 阳东县| 浮梁县| 泰和县| 霍山县| 徐水县| 前郭尔| 尼木县| 雷山县| 施甸县| 离岛区| 嘉善县| 聂拉木县| 朝阳县| 镇宁| 阜城县| 高安市| 华安县| 浏阳市| 瑞昌市| 富裕县| 东宁县| 永安市| 苗栗市| 南澳县| 朔州市| 达拉特旗| 潍坊市| 华池县|