- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在本单元中
在本单元中,您将学习:
解释在Microsoft ASP.NET 2.0里如何创建动态控件
动态地添加、配置控件
解释如何在Web应用程序中合并全球化和本地化功能
给Web应用程序添加本地化功能
描述何时以及如何实现动态母版页
描述动态 Web配置场景
动态应用母版页
动态地配置Web应用程序
目标
网页上一些控件的外观取决于运行时条件。
你可编写代码来添加、删除、隐藏或显示控件以对条件进行响应。
每一个ASP.NET 页面都有一个Controls集合。
容器控件,诸如Panel和PlaceHolder,也具有Controls集合。
可使用Controls.Add方法向页面或容器控件添加控件。
使用Controls.Add方法不能指定控件在页面上的位置。
运行时页面布局是可以控制的,您可以向Panel 或 PlaceHolder添加控件,而不是直接在页面上添加。
创建动态控件
为了用编程方式往 Web 窗体页面上添加控件,您必须:
创建一个控件的实例并设置它的属性:
Label myLabel = new Label();
mylabel.Text = “Simple label”;
向页面添加控件。一般在页面的加载阶段执行该操作:
private void Page_Load (object sender,
System.EventArgs e)
{
this.Controls.Add(myLabel);
}
新控件可添加到已经存在于页面中的容器的Controls集合,如下所示:
Panel1.Controls.Add(myLabel);
创建动态控件(续)
若使用 Tables 和 TreeView,您需要在运行时添加子控件。
当要基于用户查询显示结果时,需要创建动态控件。
运行时除了可以添加控件,您还可以删除、隐藏和显示控件。
创建动态控件(续)
您可以在代码中动态地创建模板。
如果运行前不知道该使用哪个模板,或不知道模板里将包含哪些文本或控件,则动态地创建模板是十分有用的。
您可以在代码中为所有使用模板的控件编写模板。这些控件有:
DataList
Repeater
DataGrid
为了创建动态模板,您必须:
创建一个实现ITemplate 接口并定义其InstantiateIn方法的模板类。
实例化动态模板
创建动态控件(续)
使用ASP.NET,网页可自动以用户偏好的语言显示。
用户偏好的语言经浏览器传递给服务器,该语言用来决定本地化页面的方式。
Microsoft .NET Framework 应用程序使用资源文件来保存将要在各个控件里显示的数据。
针对每中文化,将创建一个不同的资源文件。
ASP.NET 控件可被配置成在显示页面时检查资源文件。
如果控件发现某资源文件与用户的语言文化匹配,且资源文件里指定了该控件的值:
页面上控件的值将被该值替代。
本地化和全球化
隐式本地化:
这种类型的本地化使您能够指定某个控件应从资源文件中读取其属性的值。
如果运行时在控件的资源文件中找到属性值,则自动使用这些值。
每一个ASP.NET页面都可以有一个默认的资源文件,以及针对每种受支持的语言和文化的另一个资源文件。
资源文件保存在 App_LocalResources 文件夹里。
为了实现隐式本地化,必须通过在%@page%指令里添加uiculture=“auto” 属性以对页面启用自动确定文化。
本地化和全球化(续)
显式本地化:
这种类型的本地化使您可以使用表达式以指示控件从特定的资源文件里获取特定属性的值。
一组资源文件可供应用程序中的许多页面使用。
显式本地化中,资源文件的命名约定与隐式本地化中类似。然而,名称不一定必须以页面名称开头。
资源文件通常放在App_GlobalResources目录中。
本地化和全球化(续)
与普通ASP.NET页一样,母版页也可以是动态的。
内容页的代码可以修改母版页指定的属性或控件。
内容页的代码可以访问母版页上的公共方法和属性。要做到这点:
在@master 指令里给母版页指定一个类名:
@Master ClassName=“myMasterPage”%
从内容页访问母版页里的方法和属性:
myMasterPage masterPage= (myMasterPage)this.Master;
CompanyName.Text = masterPage.CompanyName;
动态母版页
Page.Master返回的对象必须被显式类型转换为母版页变量指定的类型。
通过在内容页里使用%@ MasterType% 指令以取消类型转换:
%@ page masterPageFile=“~/MasterPage.master”%
%@
文档评论(0)