ASP.NET 2.0中构造个性化网页

来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-01 11:40 点击:

   在WEB应用中,我们经常要创建个性化的网页。什么是个性化的网页呢?举个例子,大家经常使用熟悉的搜索引擎google,当我们设置了每次要使用的个性化语言偏好,比如使用中文后,在下次使用google时,则google会出现中文界面的页面,十分方便。在asp.net 2.0中,我们可以使用profile功能,构造象上文提到的google那样的个性化网页。下面,我们举个例子来说明,在该例子中,我们建立一个日历,每次用户可以选择喜欢的语言(中文,英文)设置,当用户选定了语言设置后,则下次用户重新访问该页面时,则会出现对应语言显示的页面。

  首先,我们使用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"
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 浅析.NET下XML数据访问新机制
    • asp.net 面试+笔试题目第1/2页
    • C# 邮件地址是否合法的验证
    • asp.net 设置GridView的选中行的实现代码
    • C#高级编程:数据库连接[1]
    • 经典C++程序1
    • IIS 自动回收导致后台定时器失效的问题解决
    • ASP.NET GridView列表代码示例
    • Asp.net MVC源码分析--Action Filter的链式调用
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1