国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
ASP.NET 4新增功能(二) ASP.NET Web 窗體增強功能 - longgel...

ASP.NET 4新增功能(二) ASP.NET Web 窗體增強功能

從 ASP.NET 1.0 版開始,Web 窗體已成為 ASP.NET 中的核心功能。ASP.NET 4 在這方面做了許多改進,例如以下方面:

  • 可以設(shè)置 meta 標(biāo)記。

  • 加強對視圖狀態(tài)的控制。

  • 支持最近引入的瀏覽器和設(shè)備。

  • 可以更方便地使用瀏覽器的功能。

  • 支持對 Web 窗體使用 ASP.NET 路由。

  • 加強對生成的 ID 的控制。

  • 可以將所選行保留在數(shù)據(jù)控件中。

  • 加強對 FormView 和 ListView 控件中呈現(xiàn)的 HTML 的控制。

  • 支持數(shù)據(jù)源控件的篩選。

1.使用 Page.MetaKeywords 和 Page.MetaDescription 屬性設(shè)置meta標(biāo)記

Page類增加了兩個屬性:MetaKeywords和MetaDescription。這兩個屬性所表示的是HTML中的meta標(biāo)記。如下面的示例所示:

<head id="Head1" runat="server">
     
<title>Untitled Page</title>
     
<meta name="keywords" content="keyword1, keyword2' />
     <meta name="
description" content="Description of my page" />
</head>

這兩個屬性的工作方式與Title屬性相似,可以在@Page指令中對其進行設(shè)置。

2.為各個控件啟用視圖狀態(tài)

Control 類增加了一個新屬性:ViewStateMode。使用該屬性,可以針對頁面上未顯式啟用視圖狀態(tài)的所有控件禁用視圖狀態(tài)。視圖狀態(tài)數(shù)據(jù)包含在頁面的HTML中,

視圖狀態(tài)數(shù)據(jù)包含在頁面的 HTML 中,將會使頁面的請求和響應(yīng)延長所用時間。存儲多余的視圖狀態(tài)將會導(dǎo)致性能顯著降低。在 ASP.NET 的早期版本中,可通過禁用特定控件的視圖狀態(tài)來減輕視圖狀態(tài)對頁面性能的影響。但是有時,與為多數(shù)不需要視圖狀態(tài)的控件禁用該狀態(tài)相比,為少數(shù)需要視圖狀態(tài)的控件啟用該狀態(tài)更加簡便。

3.支持最近引入的瀏覽器和設(shè)備

ASP.NET 包含一項名為“瀏覽器功能”的功能,可用于確定用戶使用的瀏覽器的功能。瀏覽器功能由存儲在 HttpRequest.Browser 屬性中的 HttpBrowserCapabilities 對象表示。有關(guān)特定瀏覽器功能的信息由瀏覽器定義文件定義。在 ASP.NET 4 中,這些瀏覽器定義文件已更新為包含有關(guān)最近引入的瀏覽器和設(shè)備(如 Google Chrome, Research in Motion BlackBerry 智能電話和 Apple iPhone)的信息?,F(xiàn)有的瀏覽器定義文件也已更新。

下面的列表顯示了 ASP.NET 4 附帶的瀏覽器定義文件:

blackberry.browser

chrome.browser

Default.browser

firefox.browser

gateway.browser

generic.browser

ie.browser

iemobile.browser

iphone.browser

opera.browser

safari.browser

4.定義瀏覽器功能的新方式

ASP.NET 4 包含一項稱為“瀏覽器功能提供程序”的新功能。顧名思義,此功能可用于構(gòu)建一個提供程序,該提供程序又可用于編寫自定義代碼以確定瀏覽器功能。

在 ASP.NET 3.5 版 Service Pack 1 中,需要在一個 XML 文件中定義瀏覽器功能。該文件位于計算機級文件夾或應(yīng)用程序級文件夾中。大部分開發(fā)人員不需要自定義這些文件,但對于需要的人員,使用提供程序的方法比處理復(fù)雜的 XML 語法更為簡便。通過提供程序方法可以簡化進程,方法是實施一種通用瀏覽器定義語法或包含最新瀏覽器定義的數(shù)據(jù)庫,甚至是用于此類數(shù)據(jù)庫的 Web 服務(wù)。

5.ASP.NET 4 中的路由

ASP.NET 4 增加了對使用 Web 窗體進行路由的內(nèi)置支持。路由是 ASP.NET 3.5 SP1 引入的一項功能,通過此功能可將應(yīng)用程序配置為使用對用戶和搜索引擎有意義的 URL,這樣無需指定物理文件名。使用這項功能,可以提高站點的用戶友好度,并增加站點內(nèi)容被搜索引擎發(fā)現(xiàn)的概率。

例如,顯示應(yīng)用程序中產(chǎn)品類別的某個頁面的 URL 如下面的示例所示:

http://website/products.aspx?categoryid=12

通過路由功能,可以使用下面的 URL 呈現(xiàn)相同的信息:

http://website/products/software

第二個 URL 使用戶了解將獲得的內(nèi)容,并且可以顯著提高在搜索引擎搜索結(jié)果中的排名。

新功能包括:

  • PageRouteHandler 類是一個用于定義路由的簡單 HTTP 處理程序。您不必再編寫自定義路由處理程序了。

  • HttpRequest.RequestContext 和 Page.RouteData 屬性可方便用戶訪問 URL 參數(shù)中傳遞的信息。

    • The RouteUrl 表達式提供了在標(biāo)記中創(chuàng)建路由 URL 的簡單方法。

    • The RouteValue 表達式提供了提取標(biāo)記中的 URL 參數(shù)值的簡單方法。

  • RouteParameter 類便于將 URL 參數(shù)值傳遞到數(shù)據(jù)源控件的查詢(類似于 FormParameter)。

  • 您不必再更改 Web.config 文件以啟用路由了。

6.設(shè)置客戶端 ID

服務(wù)器控件新增加的ClientDMode屬性可方便用戶編寫引用服務(wù)器控件呈現(xiàn)的HTML元素的客戶端腳本。Microsoft Ajax的使用日益增多,因此需要進行此操作的情況是越來越多。例如,你可以有一個用于呈現(xiàn)很長的產(chǎn)品價目表的數(shù)據(jù)控件,并且希望使用客戶端腳本令Web服務(wù)在各個價格變化時對其進行調(diào)用和更新,而不刷新整個頁面。

通常情況下,可使用document.GetElementById方法在客戶端腳本中獲得對HTML元素的引用。你需要將引用的HTML元素的id屬性值傳遞到該方法。對于ASP.NET服務(wù)器控件呈現(xiàn)的元素,ASP.NET的早期版本可能難以實現(xiàn)上述操作。并非總能預(yù)測ASP.NET將生成id值,而ASP.NET也可能生成很長的id值。

ASP.NET 4增加了兩種用于生成id特性的新算法。這些算法可以生成更易用的客戶端腳本的id,因為它們的可預(yù)測性更強,并且由于生成的更簡潔因而使用起來更方便。

7.在數(shù)據(jù)控件中保持行選擇

使用GridView和ListView控件時,用戶可以選擇一行。在ASP.NET的早期版本中,行選擇是基于頁面的行索引進行的。例如,如果選擇頁面1上的第三個項,然后移至頁面2,則會選定頁面2上的第三個項。在大多數(shù)情況下,更理想的情況是不選擇頁面2上的任何行。ASP.NET 4 支持持久化選擇,這項新功能最初僅在.NET Framework 3.5 SP1中的動態(tài)數(shù)據(jù)項目中提供。啟用此功能后,將基于行數(shù)據(jù)鍵選擇項。這意味著,如果選擇頁面1上的第三行,然后移到頁面2,則不會先定頁面2上的任何內(nèi)容。當(dāng)您移回頁面1時,仍將選定第三個行。與ASP.NET 早期版本中的行為相比,這種行為自然得多。目前針對所有項目中的GridView和ListView控件支持持久化選擇。例如,您可以通過設(shè)置GridView控件中的EnablePersistedSelection屬性啟用此功能,如下面的示例所示:

<asp:GridView id="GridView2" runat="server" PersistedSelection="true">
</asp:GridView>
8.FormView 控件增強功能

ASP.NET 4對ForumView控件進行了改進,使用CSS簡化了控件內(nèi)容的樣式設(shè)置。在ASP.NET的早期版本中,F(xiàn)ormView控件使用項模板呈現(xiàn)內(nèi)容。這使得在標(biāo)記中進行樣式設(shè)置十分困難,因為控件會呈現(xiàn)意外的表行和表單元格標(biāo)記。FormView控件支持ASP.NET 4中的屬性RenderOuterTable。當(dāng)此屬性設(shè)置為false時(如下面的示例所示),不會呈現(xiàn)表標(biāo)記。這樣更容易對控件內(nèi)容應(yīng)用CSS樣式。

<asp:FormView ID="FormView1" runat="server" RenderTable="false">
9.ListView 控件增強功能

ASP.NET 3.5 中引入的 ListView 控件具備 GridView 控件的所有功能,同時使您可以全面控制輸出。在 ASP.NET 4 中,簡化了此控件的使用。該控件的早期版本要求您指定布局模板,其中包含一個具有已知 ID 的服務(wù)器控件。下面的標(biāo)記顯示了在 ASP.NET 3.5 中使用 ListView 控件的典型示例。

<asp:ListView ID="ListView1" runat="server">
<LayoutTemplate>
<asp:PlaceHolder ID="ItemPlaceHolder" runat="server"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<% Eval("LastName")%>
</ItemTemplate>
</asp:ListView>

在 ASP.NET 4 中,ListView 控件不需要布局模板。上面示例中的標(biāo)記可以替換為下面的標(biāo)記:

<asp:ListView ID="ListView1" runat="server">
<ItemTemplate>
<% Eval("LastName")%>
</ItemTemplate>
</asp:ListView>
10.使用 QueryExtender 控件篩選數(shù)據(jù)

對于創(chuàng)建數(shù)據(jù)驅(qū)動的網(wǎng)頁的開發(fā)人員,一項十分常見的任務(wù)就是篩選數(shù)據(jù)。該任務(wù)的傳統(tǒng)執(zhí)行方法是在數(shù)據(jù)源控件中生成 Where 子句。這種方法可能十分復(fù)雜,而且在某些情況下,通過 Where 語法無法充分利用基礎(chǔ)數(shù)據(jù)庫的全部功能。

為簡化篩選操作,ASP.NET 4 中增加了一個新的 QueryExtender 控件??梢詫⒋丝丶砑拥?EntityDataSource 或 LinqDataSource 控件以篩選這些控件返回的數(shù)據(jù)。QueryExtender 控件依賴于 LINQ,但您無需了解如何編寫 LINQ 查詢即可使用該查詢擴展程序。

QueryExtender 控件支持多種篩選選項。下表列出了 QueryExtender 的篩選選項。

術(shù)語

定義

SearchExpression

搜索一個或多個字段中的字符串值,并將這些值與指定的字符串值進行比較。

RangeExpression

在一個或多個字段中搜索由一對值指定的范圍內(nèi)的值。

PropertyExpression

對指定的值與字段中的屬性值進行比較。如果表達式的計算結(jié)果為 true,則返回所檢查的數(shù)據(jù)。

OrderByExpression

按指定的列和排序方向?qū)?shù)據(jù)進行排序。

CustomExpression

調(diào)用一個函數(shù),用于定義頁面中的自定義篩選器。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ASP.NET中級學(xué)習(xí)
領(lǐng)先技術(shù): ListView 提示和技巧
ASP.NET中g(shù)ridview、datalist、repeater、FormView、DetailsView的區(qū)別詳解
ASP.NET個人行事歷 學(xué)習(xí)流程與重點 (Calendar日歷控件 + DB數(shù)據(jù)庫 + HyperLink or Label)
最新技術(shù): ASP.NET 頁的客戶端
ASP.NET 頁生命周期概述 (來自MSDN)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服