快速业务通道

ASP.NET Web Forms 4.0简介

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
提供唯一的客户端 ID。您可以在动态添加脚本时使用它 ,或者更加常见的用法是,使用内联代码(早期的 ASP 样式)将该值提供给客户端脚本。

JavaScript

<script type="text/javascript">
function  DoSomething(){
alert(''<%= Control.ClientID %>'');
    }
</script>

为了解决这种问题,ASP.NET 4.0 提供了四种 ClientID“模式 ”,可满足用户从已有行为到全面控制的一切需求。需依照 ClientIDMode 模式来修改控件 ID 属 性,然后使用它作为客户端 ID。

这四种模式分别是:

旧式:如果控件层次结构未 设定 ClientIDMode,则默认使用此模式。这会造成客户端 ID 表现 2.0 版本框架中的行为(3.0 和 3.5 未修改此代码路径)。这种模式将生成一个类似于 "ctl00_MasterPageBody_ctl01_Textbox1" 的 ID。

继承:这是所有控件的默认行为。这需要获取父控件中的 ClientIDMode 值。您不需要为每个 控件都设置此模式,因为它是默认的。仅当 ClientIDMode 被修改并且新的期望行为是继承父控件时,需 要使用它。

静态:此模式的行为与其名称所表达的含义完全一样;它将客户端 ID 设置为 静态。这表示您对此 ID 的设置将反映到客户端 ID 上。请注意,这意味着如果在重复控件中使用了静态 ClientIDMode,则开发人员需要负责确保客户端 ID 的唯一性。

可预测:在需要以可预测 的方式确保框架的唯一性时将使用此模式。这种模式最常应用于数据绑定控件。框架会遍历控件层次结构 ,为提供的 ID 添加其父控件  ID 作为前缀,直到它到达层次结构中 ClientIDMode 为静态的控件。当 控件位于数据绑定控件中时,会在所提供的 ID 中添加一个标识该实例的值作为后缀。 ClientIDRowSuffix 属性用于控制将用作后缀的值。此模式将生成一个类似于 "Gridview1_Label1_0" 的 ID。

有关更多信息,请访问 http://weblogs.asp.net/asptest/archive/2009/01/06/asp-net-4 -0-clientid-overview.aspx。

注意:要验证每个步骤是否正确执行,建议在每次任务结束时构建 解决方案。

任务 1 –为 ASP.NET 控件分配静态 ClientID

在本任务中,您将为 Web 应用程序中的一些 ASP.NET 控件启用 Static ClientID 模式。通过此操作,您将能够从客户端代码以及 在后续步骤中的 CSS 中无缝引用它们。

1.以管理员身份打开 Microsoft Visual Studio 2010。 右键单击 Start | All Programs | Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010 并选择 Run as Administrator。

2.打开 %TrainingKitInstallationFolder%\Labs\AspNetWebForms4\Source\Ex01-ClientId\begin\ 下的解决方案文件 WebFormsSampleApp.sln。

注意:实验场景包括一个页面,其中列出 AdventureWorksLT 数据库中按类别筛选的产品,允许用户将它们添加到购物车,并随后通过单击 Check Out 提交它们。必须将 AdventureWorksLT.mdf 文件从 \AspNetWebForms4\Source\Assets 文件夹复制到 此项目的 App_Data 文件夹。

图 1

在 Solution Explorer 中浏览 Web 应用程序

3.在 Source 模式下打开 ShoppingCart  用户控件。为此,在 Solution Explorer 中,右键单击 UserControls 下方的 ShoppingCart.ascx 文件 ,然后选择 View Markup。

注意:这是供用户下订单的购物车。这个用户控件在呈现时将能够通 过客户端脚本利用 ClientID 属性(Static 模式)来进行展开和折叠。

4.在 ShopCartCollapsed ASP.NET 面板中启用 ClientID Static 模式。为此,将当前 ShopCartCollapsed asp:Panel 定义替换为 以下突出显示的代码。

注意:此面板将作为使用与服务器控件相同的 Id(在本例中为  ShopCartCollapsed)的 div 呈现给客户端。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号