ASP.NET 2.0中构造个性化网页
2008-02-22 09:27:46来源:互联网 阅读 ()
![新老客户大回馈,云服务器低至5折](/info/templets/default/images/760x90_D.jpg)
首先,我们使用visual studio express beta 1,创建一个新的web站点,使用vb.net语言,接着往窗体添加如下控件,如下图:
![]() |
其中分别添加如下控件:一个label标签,一个日历控件,一个dropdownlist控件,一个button控件,而对于dropdownlist控件的设置采用如下方式:
·Text Value 目的
·English En-US 用英文显示网页
·Chinese Zh-CN 用中文显示网页
·Auto Select Auto 根据IE浏览器中的语言设置自动选择页面显示的语言
接下来,我们可以开始设置资源文件了。由于我们的这个应用是一个多语言显示的页面,所以要分别设置对应的英语,中文资源文件。在visual studio 2005中,选择工具菜单中的Generate Local Resource(产生资源文件),如下图所示,
![]() |
当资源文件产生后,你会发现在解决方案管理器中,当前工程目录下,有一个新的目录文件夹,叫localresources。其中,default.aspx.resx这个资源文件,是default.aspx这个首页文件要用到的资源文件(我们默认default.aspx是用英文显示)。接下来,右键选定default.aspx.resx文件,在弹出的菜单中,选择复制,然后再在localresources目录下,选择粘贴,这样,就会复制一个新的资源文件,将其改名为:default.aspx.zh-CN.resx,这个将作为我们要用到的中文资源文件。
接下来,我们对资源文件进行编辑。比如打开资源文件default.aspx.zh-CN.resx,这时会看到如下图的资源文件,我们可以对其中的中文资源文件进行编辑。
在asp.net 2.0中,只需要简单在页面aspx头部的@page页增加两个新的属性"Culture"和"UICultrue", 则WEB应用程序会自动在运行时,根据预先设定好的资源文件,自动显示相应语言的页面,如下面程序段所示:
<%@ Page Language="VB" Culture="auto" UICulture="auto" AutoEventWireup="false" CompileWith="Default.aspx.vb" ClassName="Default_aspx" meta:resourcekey="PageResource1" %> |
为了测试程序,打开IE浏览器,将语言设置选定为中文,运行程序,则可以看到,程序自动调用了中文资源文件,显示出来的页面语言是中文,而不是默认的英文(因为我们默认的default.aspx是调用英文资源文件的),如下图:
![]() |
上面的程序中,我们只是利用了资源文件的特性而已,下面,我们将实现让程序"记住"用户每次选择语言,就象google那样,记住用户每次的选择后,下次用户在浏览页面时,就会使用该语言的页面了。
首先,要实现这样的功能,我们必须使用asp.net 2.0中新提供的profile功能。Profile可以利用数据库存储关于用户的个性化信息,有点象session对象,但session对象是有生存期的,在生存期后,session对象自动失效了。而profile不同,除非显式移除它。要实现profile功能,必须先在web.config中进行定义,如下:
<system.web> <profile> <properties> <add name="language" type="string"/> <group name="Info"> <add name="DateSelected" type="System.DateTime"/> <add name="LastModified" type="System.DateTime"/> </group> </properties> </profile> |
要使用profile属性,可以这样:
Profile.language = "en-US" Profile.Info.LastModified = Now Profile.Info.DateSelected = Calendar1.SelectedDate |
在web.congfig中,将会定义一些属性/值,分别存贮将要保存的变量和值,比如lastmodified属性,定义其值是datatime类型,如此类推。而<group>标签,则是将一些相同或类似功能的变量值放在一起。在beta 1中,profile是利用access数据库来保存这些值的。
我们为了要让用户每次在下拉框中选择要用的语言,并将其保存起来,所以在提交按钮中,写入如下代码:
Sub btnSet_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Profile.language = ddlLanguage.SelectedItem.Value End Sub |
而为了记录用户每次选择日历中的日期,我们则利用profile.info.dateselected属性来记录,并且用Profile.Info.LastModified记录下用户每次选择日历中日期时的时间,如下代码:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash