asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

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


发布日期:2021年06月08日
 
ASP.NET 2.0中构造个性化网页[2]
在aspnet 只需要简单在页面aspx头部的@page页增加两个新的属性CultureUICultrue 则WEB应用程序会自动在运行时根据预先设定好的资源文件自动显示相应语言的页面如下面程序段所示

<%@ Page Language=VB

Culture=auto UICulture=auto

AutoEventWireup=false CompileWith=Defaultaspxvb

ClassName=Default_aspx meta:resourcekey=PageResource %>

为了测试程序打开IE浏览器将语言设置选定为中文运行程序则可以看到程序自动调用了中文资源文件显示出来的页面语言是中文而不是默认的英文(因为我们默认的defaultaspx是调用英文资源文件的)如下图

上面的程序中我们只是利用了资源文件的特性而已下面我们将实现让程序记住用户每次选择语言就象google那样记住用户每次的选择后下次用户在浏览页面时就会使用该语言的页面了

首先要实现这样的功能我们必须使用aspnet 中新提供的profile功能Profile可以利用数据库存储关于用户的个性化信息有点象session对象但session对象是有生存期的在生存期后session对象自动失效了而profile不同除非显式移除它要实现profile功能必须先在webconfig中进行定义如下

<systemweb>

<profile>

<properties>

<add name=language type=string/>

<group name=Info

<add name=DateSelected

type=SystemDateTime/>

<add name=LastModified

type=SystemDateTime/>

</group>

</properties>

</profile>

要使用profile属性可以这样

Profilelanguage = enUS

ProfileInfoLastModified = Now

ProfileInfoDateSelected = CalendarSelectedDate

在webcongfig中将会定义一些属性/值分别存贮将要保存的变量和值比如lastmodified属性定义其值是datatime类型如此类推而<group>标签则是将一些相同或类似功能的变量值放在一起在beta profile是利用access数据库来保存这些值的

我们为了要让用户每次在下拉框中选择要用的语言并将其保存起来所以在提交按钮中写入如下代码

Sub btnSet_Click(ByVal sender As Object _

ByVal e As SystemEventArgs)

Profilelanguage = ddlLanguageSelectedItemValue

End Sub

而为了记录用户每次选择日历中的日期我们则利用profileinfodateselected属性来记录并且用ProfileInfoLastModified记录下用户每次选择日历中日期时的时间如下代码

[] [] [] []

               

上一篇:ASP.NET 2.0中构造个性化网页[1]

下一篇:ASP.NET入门教程 1.5 Wrox United应用程序