快速业务通道

ASP.NET Web Forms 4.0简介

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20

ASP.NET

<asp:Panel ID="ShopCartCollapsed" ClientIDMode="Static"  runat="server">

5.对 ShopCartExpanded ASP.NET 面板重复上述步骤。

ASP.NET

<asp:Panel ID="ShopCartExpanded" ClientIDMode="Static"  runat="server">

任务 2 –为 ASP.NET 控件分配可预测 ClientID

在本 任务中,您将为从数据库中检索的产品列表项分配 Predictable ClientID 模式,将产品 ID 设置为 ClientIDRowSuffix。

注意:以前,ASP.NET 会生成唯一的 ID 来防止 ID 冲突,而最可能发生这 类冲突的地方在数据绑定控件内部。可预测模式用于在使用数据绑定控件时解决此问题。

可预测 模式输出遵循 [Prefix]_[ID]_[Suffix] 模式,其中各参数的含义如下:

- Prefix:包含明确的 ID/ClientID 的所有父控件的列表,使用下划线分隔

- ID:重复的项服务器控件 ID

- Suffix:可选自动增加数值,用于重复项目(仅在使用 IDataKeysControl 时适用。)通过设置数据绑定 服务器控件的 ClientIDRowSuffix  属性来分配此参数(不在重复项中)。如果未设置此属性或此属性 不可用,则使用行索引代替它。

只有实现了新 IDataKeysControl 接口的控件才支持设置  ClientIDRowSuffix 属性(目前由 GridView 和 ListView实现)。此界面允许设置子元素的 ClientIDRowSuffix,它的值将由各行的数据键决定。

1.为 ListView (显示购物车中的项目)指 定 ClientIDRowSuffix 属性。为此,在 Source 模式下打开 ShoppingCart.ascx,找到 ShoppingCartItemsLists ListView 并将当前控件定义替换为以下突出显示的代码。

注意:ProductId 是类的一个属性,它的项将是重复的 (ShoppingCartItem),并将在绑定数据源时自 动插入到数据键集合中。

ASP.NET

<asp:ListView  ID="ShoppingCartItemsLists" runat="server" ClientIDMode="Static"  ClientIDRowSuffix="ProductId">

注意:可以采用三种方式来使用可预测模式,各模 式都可以通过 ClientIDRowSuffix 属性来定义,该属性用于指定各实例的后缀。

1- 未定义 ClientIDRowSuffix。这也是没有数据键集合的数据绑定控件的行为(比如 Repeater 控件)。为了构造 ClientId,ASP.NET 会在 ID 后缀中添加行索引。

2- 定义了 ClientIDRowSuffix。它将在数据绑 定服务器控件的数据键集合中查找该值,然后将该值添加到 ID 的后缀中。

3- 定义了 ClientIDRowSuffix,但使用了一个复合值,而不是一个值。它的行为与一个值相同,但会将合并后的值 添加到 ID 的后缀中。(比如  ClientIDRowSuffix="ID, Name")。

2.将购物车项绑定到 ShoppingCartItemLists 控件。为此,打开 ShoppingCart.ascx.cs 代码隐藏文件,并将以下突出显示的 代码添加到 ShoppingCartControl 类中的 Page_PreRender方法底部。

注意:如果浏览 ShoppingCartItem 类,您会看到用于设置 ListView 的 ClientIDRowSuffix  属性的 ProductId 属性 。

(代码片段– Web Forms 4.0 实验– Page_PreRender 方法)

C#

protected void Page_PreRender(object sender, EventArgs e)
{
ShoppingCart cart = ShoppingCartFactory.GetInstance();

ExpandedItemsCountLabel.Text = cart.TotalItems.ToString();
CollapsedItemsCountLabel.Text = cart.TotalItems.ToString();
ExpandedTotalLabel.Text  = cart.Subtotal.ToString("c");
CollapsedTotalLabel.Text = cart.Subtotal.ToString ("c");

this.ShopCartExpandedEmpty.Visible = cart.TotalItems == 0;
this.ShopCartExp

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号