一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

ASP.NET 4新增功能(三) 對Web標準的支持和輔助功能的增強 - longgel ...

 boxls 2010-06-07

ASP.NET 4新增功能(三) 對Web標準的支持和輔助功能的增強

ASP.NET 控件的早期版本有時會呈現(xiàn)不符合 HTML、XHTML 或輔助功能標準的標記。ASP.NET 4 消除了其中大部分異常情況。

1.用于可禁用控件的 CSS

在 ASP.NET 3.5 中,禁用某個控件時,會將一個 disabled 屬性添加到呈現(xiàn)的 HTML 元素中。例如,下面的標記將創(chuàng)建一個已禁用的 Label 控件:

<asp:Label id="Label1" runat="server"

  Text="Test" Enabled="false" />

在 ASP.NET 3.5 中,原有控件設置將生成以下 HTML:

<span id="Label1" disabled="disabled">Test</span>

在 HTML 4.01 中,針對 span 元素將 disabled 特性視為無效。它僅對 input 元素有效,因為它指定這些元素無法訪問。對于僅供顯示的元素(如 span),瀏覽器通常支持呈現(xiàn)禁用的外觀,但根據輔助功能標準,依賴于這種非標準行為的網頁并不可靠。

對于僅供顯示的元素,應使用 CSS 指明已禁用的可視外觀。因此在默認情況下,ASP.NET 4 將針對上面顯示的控件設置生成以下 HTML:

<span id="Label1" class="aspNetDisabled">Test</span>

通過設置 DisabledCssClass 屬性,可以更改控件禁用時默認呈現(xiàn)的 class屬性的值。

2.用于驗證控件的 CSS

在 ASP.NET 3.5 中,驗證控件呈現(xiàn)將默認顏色 red 呈現(xiàn)為內聯(lián)樣式。例如,下面的標記創(chuàng)建一個 RequiredFieldValidator 控件:

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"  ErrorMessage="Required Field" ControlToValidate="RadioButtonList1" />

ASP.NET 3.5 為驗證控件呈現(xiàn)以下 HTML:

<span id="RequiredFieldValidator1"

  style="color:Red;visibility:hidden;">RequiredFieldValidator</span>

默認情況下,ASP.NET 4 不會呈現(xiàn)將顏色設置為紅色的內聯(lián)樣式。內聯(lián)樣式僅用于隱藏或顯示驗證程序,如下面的示例所示:

<span id="RequiredFieldValidator1"

  style="visibility:hidden;">RequiredFieldValidator</span>

因此,ASP.NET 4 不會自動以紅色顯示錯誤提示。

3.用于隱藏字段 Div 元素的 CSS

ASP.NET 使用隱藏字段存儲狀態(tài)信息,如視圖狀態(tài)和控件狀態(tài)。這些隱藏字段包含在 div 元素中。在 ASP.NET 3.5 中,此 div 元素沒有 class 屬性或 id 屬性。因此,影響所有 div 元素的 CSS 規(guī)則可能會在無意中導致此 div 變?yōu)榭梢姞顟B(tài)。為避免這種問題,ASP.NET 4 使用一個 CSS 類呈現(xiàn)隱藏字段的 div 元素,該類可用于將包含隱藏字段的div與其他元素區(qū)分開來。下面的示例顯示了新類的值:

<div class="aspNetHidden">

4.用于Table、Image 和 ImageButton 控件的 CSS

默認情況下在 ASP.NET 3.5 中,某些控件會將所呈現(xiàn) HTML 的 border 屬性設置為零。下面的示例顯示由 ASP.NET 3.5 中的 Table 控件生成的 HTML:

<table id="Table2" border="0">

Image 控件和 ImageButton 控件也會這樣。由于此設置沒有必要,而且會提供應通過使用 CSS 提供的可視格式設置信息,因此在 ASP.NET 4 中未自動生成該屬性。

5.用于UpdatePanel 和 UpdateProgress 控件的 CSS

在 ASP.NET 3.5 中,UpdatePanel 和 UpdateProgress 控件不支持 expando 屬性。因此無法針對它們呈現(xiàn)的 HTML 元素設置 CSS 類。在 ASP.NET 4 中,這些控件已更改為接受 expando 屬性,如下面的示例所示:

<asp:UpdatePanel runat="server" class="myStyle"> </asp:UpdatePanel>

下面是此標記呈現(xiàn)的 HTML:

<div id="ctl00_MainContent_UpdatePanel1" class="expandoclass"> </div>

6.消除不需要的外部表

在 ASP.NET 3.5 中,以下控件呈現(xiàn)的HTML包裝在一個table元素中,該元素的用途是將內聯(lián)樣式應用于整個控件:

  • FormView
    Login
    PasswordRecovery
    ChangePassword

如果使用模板自定義這些控件的外觀,您則可以在模板中提供的標記中指定CSS樣式。在這種情況下,不需要額外的外部表。在 ASP.NET 4 中,通過將新的 RenderOuterTable屬性設置為false,可以避免呈現(xiàn)表。

7.向導控件的布局模板

在 ASP.NET 3.5 中,Wizard 和 CreateUserWizard 控件可生成用于可視格式設置的 HTML table 元素。在 ASP.NET 4 中,可以使用 LayoutTemplate 元素指定布局。如果這樣做,將不生成 HTML table 元素。在模板中,可創(chuàng)建占位符控件來指示應在該控件中動態(tài)插入項的位置。(這與 ListView 控件的模板模型的工作方式類似。)

8.用于CheckBoxList 和 RadioButtonList 控件的新增 HTML 格式設置選項

ASP.NET 3.5 使用 HTML 表元素為 CheckBoxList 和 RadioButtonList 控件的輸出設置格式。為提供不使用表進行可視格式設置的替代方法,ASP.NET 4 為 RepeatLayout 枚舉增加了兩個選項:

  • UnorderedList.此選項指定使用 ul 和 li 元素而并不是表對 HTML 輸出進行格式設置。

  • OrderedList.此選項指定使用 ol 和 li 元素而并不是表對HTML 輸出進行格式設置。

9.Table控件的頁眉和頁腳元素

在 ASP.NET 3.5 中,可通過設置 TableHeaderRow類和TableFooterRow 類的 TableSection 屬性將 Table 控件配置為呈現(xiàn)thead和tfoot元素。在 ASP.NET 4 中,這些屬性均默認設置為適當?shù)闹怠?

10.Menu 控件的 CSS 和 ARIA 支持

在 ASP.NET 3.5 中,Menu 控件使用的是HTML table 元素進行可視化格式設置,在某些配置中無法通過鍵盤來訪問該控件。ASP.NET 4 通過以下方法解決了這些問題,并提高了可訪問性:

  • 生成的 HTML 具有無序列表(ul 和 li 元素)的結構。

  • 使用 CSS 進行可視化格式設置。

  • 菜單按照 ARIA 標準實現(xiàn)鍵盤訪問??梢允褂眉^鍵在菜單項中進行導航。

  • ARIA 角色和屬性特性將添加到生成的 HTML 中。(通過使用 JavaScript 添加的特性而不是直接將其包含在 HTML 中,以免生成的 HTML 產生標記驗證錯誤。)

Menu 控件的樣式呈現(xiàn)在頁面頂部的 style 塊中,而不是與出現(xiàn)的 HTML 元素內聯(lián)出現(xiàn)。如果要使用單獨的 CSS 文件來修改菜單樣式,可以將 Menu 控件的新的 IncludeStyleBlock 屬性設置為 false,這樣便不會生成樣式塊。

11.用于 HtmlForm 控件的有效 XHTML

在 ASP.NET 3.5 中,HtmlForm 控件(由 <form runat="server"> 標記隱式創(chuàng)建)出現(xiàn)的 HTML form 元素同時具有 name 和 id 屬性。name 必性在 XHTML 1.1 中已棄用。因此,該控件在 ASP.NET 4 中不會呈現(xiàn) name 屬性。

12.保留控件呈現(xiàn)中的向后兼容性

現(xiàn)有的ASP.NET網站中的代碼可能會假定控件是以 ASP.NET 3.5 中的方式呈現(xiàn) HTML。為避免在將該站點升級為 ASP.NET 4 時出現(xiàn)向后兼容的問題,可以在升級站點后讓 ASP.NET 繼續(xù)以 ASP.NET 3.5 中的方式生成 HTML。為此,可以在 ASP.NET 4 網站的 Web.config 文件中將 pages 元素的 controlRenderingCompatibilityVersion 屬性設置為“3.5”,如下面的示例所示:

<system.web>
     <pages controlRenderingCompatibilityVersion="3.5"/>
</system.web>

如果省略上述設置,默認值將與網站的目標 ASP.NET 版本相同。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    99少妇偷拍视频在线| 大屁股肥臀熟女一区二区视频| 麻豆欧美精品国产综合久久| 免费大片黄在线观看国语| 欧美一区二区三区性视频| 日韩成人动作片在线观看| 国产欧美性成人精品午夜| 人妻内射精品一区二区| 欧美日韩校园春色激情偷拍| 日韩免费午夜福利视频| 欧美一区日韩一区日韩一区| 日韩一级毛一欧美一级乱| 亚洲欧洲成人精品香蕉网| 日韩国产亚洲欧美另类| 国产一区二区三中文字幕| 国产91麻豆精品成人区| 大香蕉网国产在线观看av| 亚洲精品中文字幕一二三| 久久精视频免费视频观看| 日本中文在线不卡视频| 国产精品福利精品福利| 国产精品白丝久久av| 亚洲精品蜜桃在线观看| 九九热精品视频在线观看| 麻豆视频传媒入口在线看| 国产不卡免费高清视频| 日本一二三区不卡免费| 久草精品视频精品视频精品 | 亚洲一区二区三区在线中文字幕| 激情五月激情婷婷丁香| 欧美日韩高清不卡在线播放| 少妇淫真视频一区二区| 欧美日韩国产亚洲三级理论片| 国产又粗又爽又猛又黄的| 黄色片国产一区二区三区| 福利视频一区二区三区| 亚洲精品美女三级完整版视频| 日韩综合国产欧美一区| 亚洲精选91福利在线观看| 超碰在线免费公开中国黄片| 亚洲国产天堂av成人在线播放|