WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章WAP教程WAP 2.0使用 Web 标准生成 ASP.NET 2.0 Web 站点

使用 Web 标准生成 ASP.NET 2.0 Web 站点
作者:Stephen Walther  来源:Stephen Walther  发布时间:2006-4-27 1:19:21
当您单击菜单项时,将重新加载 Default.aspx 页。Page_Load 事件处理程序用来检测单击了哪个菜单项,而且该子例程用当前菜单选择更新菜单。

使用 Menu 控件的好处是,Menu 控件自动生成“跳过导航”链接。如果使用 Tab 键浏览 Default.aspx 页中的每个元素,会注意到(观察浏览器的状态栏)有一个跳过菜单内容的隐藏链接。Menu 控件使您能够自动满足 WCAG 和 508 节准则,该准则要求您提供相应的方法以跳过重复性的导航链接。

返回页首
搜索页
搜索页包含一个表单,使 Web 站点的用户能够通过提供书籍作者、书名、书籍关键字或者通过提供复杂查询来搜索书籍(参见图 15)。查询的结果显示在 GridView 控件中。Search.aspx 页包含在清单 12 中。



图 15. 搜索页


清单 12. Search.aspx

<%@ Page Language="VB" MasterPageFile="~/SiteMaster.master"  
    Title="Search Books" %> 
<script runat="server"> 
    Protected Sub btnQuickSearch_Click(ByVal sender As Object, _ 
      ByVal e As System.EventArgs) 
        txtPowerSearch.Text = String.Empty 
    End Sub 
    Protected Sub btnPowerSearch_Click(ByVal sender As Object, _ 
      ByVal e As System.EventArgs) 
        txtAuthor.Text = String.Empty 
        txtTitle.Text = String.Empty 
        txtKeywords.Text = String.Empty 
    End Sub 
</script> 
<asp:Content ID="Content1" ContentPlaceHolderID="ContentBody"  
  Runat="Server"> 
    <h1>Search Books</h1> 
    <hr /> 
    <div id="leftColumn"> 
    <fieldset class="quickSearch"> 
    <legend>Quick Search</legend> 
    <asp:Label 
        Text="Author:" 
        AssociatedControlID="txtAuthor" 
        AccessKey="a" 
        Runat="server" /> 
    <asp:TextBox 
        id="txtAuthor" 
        ToolTip="Search by author" 
        Runat="server" /> 
    <span class="accessKey">access key is a</span> 
    <br /> 
    <asp:Label 
        Text="Title:" 
        AssociatedControlID="txtTitle" 
        AccessKey="t" 
        Runat="server" /> 
    <asp:TextBox 
        id="txtTitle" 
        ToolTip="Search by title" 
        Runat="server" /> 
    <span class="accessKey">access key is t</span> 
    <br /> 
    <asp:Label 
        Text="Keywords:" 
        AssociatedControlID="txtKeywords" 
        AccessKey="k" 
        Runat="server" /> 
    <asp:TextBox 
        id="txtKeywords" 
        ToolTip="Search by keywords" 
        Runat="server" /> 
    <span class="accessKey">access key is k</span> 
    <br /> 
    <asp:Button 
        id="btnQuickSearch" 
        Text="Quick Search Now" 
        ToolTip="Peform quick search" 
        AccessKey="s" 
        Runat="server"  />      
    <span class="accessKey">access key is s</span> 
    </fieldset> 
    <br /> 
    <fieldset class="powerSearch"> 
    <legend>Power Search</legend> 
    <asp:Label 
        Text="Query:" 
        AssociatedControlID="txtPowerSearch" 
        AccessKey="q" 
        Runat="server" /> 
    <asp:TextBox 
        id="txtPowerSearch" 
        ToolTip="Power search query text" 
        TextMode="MultiLine" 
        Columns="20" 
        Rows="3" 
        Runat="server" /> 
    <span class="accessKey">access key is q</span> 
    <br /> 
    <asp:Button 
        id="btnPowerSearch" 
        Text="Power Search Now" 
        ToolTip="Perform power search" 
        AccessKey="p" 
        Runat="server"  />      
    <span class="accessKey">access key is p</span> 
    </fieldset> 
    </div> 
    <div id="middleColumn"> 
    <asp:GridView 
        id="grdBooks" 
        DataSourceID="srcBooks" 
        AutoGenerateColumns="false" 
        CssClass="books" 
        HeaderStyle-CssClass="booksHeader" 
        EmptyDataText="No matching results" 
        Runat="server"> 
        <Columns> 
        <asp:TemplateField HeaderText="Book Cover Image"> 
        <ItemTemplate> 
            <asp:Image 
                id="imgBook" 
                ImageUrl= 
  '<%#Amazon.FormatBookCover(Eval("SmallImage.Url"))%>' 
                AlternateText="Book cover image" 
                Runat="server" /> 
        </ItemTemplate> 
        </asp:TemplateField> 
        <asp:TemplateField HeaderText="Book Information"> 
        <ItemTemplate> 
            <h2><%#Server.HtmlEncode(Eval("ItemAttributes.Title"))%></h2> 
            Authors:  
            <%#Amazon.FormatAuthor(Eval("ItemAttributes.Author"))%> 
            <br />Price: 
            <%#Amazon.FormatPrice(  
                Eval("ItemAttributes.ListPrice.Amount"))%> 
            <br />Sales Rank: 
            <%#Eval("SalesRank")%> 
            <br /> 
            <asp:HyperLink  
                id="lnkDetails" 
                NavigateUrl='<%#Eval("DetailPageURL")%>' 
                Text="View Details" 
                Tooltip= 
       '<%#Amazon.FormatDetailsTooltip(Eval("ItemAttributes.Title"))%>' 
                Runat="server" /> 
        </ItemTemplate> 
        </asp:TemplateField> 
        </Columns> 
    </asp:GridView>     
    <asp:ObjectDataSource 
        id="srcBooks" 
        TypeName="Amazon" 
        SelectMethod="SearchBooksFromAmazon" 
        Runat="server"> 
        <SelectParameters> 
            <asp:ControlParameter  
                Name="Author" 
                ControlId="txtAuthor" 
                ConvertEmptyStringToNull="true" /> 
            <asp:ControlParameter  
                Name="Title" 
                ControlId="txtTitle" 
                ConvertEmptyStringToNull="true" /> 
            <asp:ControlParameter  
                Name="Keywords" 
                ControlId="txtKeywords" 
                ConvertEmptyStringToNull="true" /> 
            <asp:ControlParameter  
                Name="PowerSearch" 
                ControlId="txtPowerSearch" 
                ConvertEmptyStringToNull="true" /> 
        </SelectParameters> 
    </asp:ObjectDataSource>     
    </div>     
</asp:Content>

返回页首
搜索页的 XHTML 功能
就像默认页一样,搜索页不包含任何表示性元素或属性。搜索页的样式和布局完全封装在通过 ASP.NET 主题与该页相关联的外部样式表中。

同样,像默认页一样,搜索页使用内容协商。如果有人用能够识别 application/xhtml+xml MIME 类型的浏览器请求搜索页,则将以该 MIME 类型提供该页;否则,将以 text/html 类型提供该页。

返回页首
搜索页的可访问性功能
搜索页包含一个表单。或者,更准确地说,该页包含被划分为两个子表单的单个表单。它包含一个“Quick Search”表单和一个“Power Search”表单。

请注意,该表单用 HTML <fieldset> 标记划分为两个子表单。<fieldset> 标记使您能够将逻辑相关的表单元素组合在一起。可访问性准则要求您在处理复杂表单时使用 <fieldset> 标记(请参阅 WCAG 12.3)。 


而且,请注意,每个表单字段都与其标签显式关联。每个 ASP.NET 控件都包含一个指向其相应表单字段的 AssociatedControlID 属性。标签和字段之间的这些显式关联可以帮助屏幕阅读器的用户确定特定表单字段的用途。

最后,请注意每个 Label 控件都分配了一个访问键。访问键使您无需使用鼠标就能够方便地浏览表单字段。例如,如果按 ALT+A,则可以输入作者的姓名。如果随后按 ALT+S,则会提交“Quick Search”表单,并且在 GridView 中显示结果。换句话说,无需触摸鼠标即可方便

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]  下一页

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码