惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
博客园_首页
量子位
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
H
Help Net Security
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
A
About on SuperTechFans
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
DataBreaches.Net
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
Jina AI
Jina AI
月光博客
月光博客
云风的 BLOG
云风的 BLOG
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
雷峰网
雷峰网
C
Check Point Blog
V
V2EX
T
Tailwind CSS Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Security Blog
Microsoft Security Blog

博客园 - blue1000

C#批量生成大数据量无重复随机数据的另类高效实现 [转载]安装网银安全控件 近期学习SQL Server,收藏的几个学习教程网址备忘 DataColumn.Caption属性应用到DataGridView.HeaderText的方法 飞梭TXT文本数据处理百宝箱 - 极速、高效、灵活 中国父母十个错误教育观念[转] asp.net根据域名查ip C#版 - blue1000 - 博客园 asp.net 2.0教程 登录系列控件 asp.net 2.0教程 成员资格和角色管理 asp.net 2.0教程 Web部件WebPart asp.net 2.0教程 数据缓存 asp.net 2.0教程 数据绑定控件 asp.net 2.0教程 数据源控件2 asp.net 2.0教程 数据源控件 asp.net 2.0教程 其它服务器控件 asp.net 2.0教程 网站导航控件 asp.net 2.0教程 母版页 asp.net 2.0教程 主题和皮肤 asp.net 2.0教程 C# 2.0匿名方法、迭代器、局部类
asp.net 2.0教程 个性化用户配置
blue1000 · 2007-10-08 · via 博客园 - blue1000

尊重作者,请保留 www.it55.com 链接字样。

本节一起学习Asp.net 2.0的个性化服务解决技术框架:个性化用户配置。
什么是个性化用户配置呢?以下是引自网上Daniel Pang朋友的讲述:

存储和访问用户配置数据一直是开发人员关注的热点。在ASP.NET 1.x时代,实现这一功能主要通过Session、Application等对象或者采用数据库存储的方法。这两种方法都有着本身不可克服的缺点。例如,使用前者容易发生数据丢失的情况,而使用后者比较繁琐,例如,需要自行设计实现数据库及访问数据的代码。为了解决以上问题,ASP.NET 2.0新增了个性化用户配置功能。
个性化用户配置功能主要用于存储单个用户配置数据,这些数据可以是简单数据类型,也可以是复杂数据类型,甚至自定义对象等。同时,单个用户既可以是匿名用户,也可以是注册用户。默认情况下,所有用户配置数据都存储在SQL Server数据库中,并且无需自行创建和维护该数据库,这些工作都由ASP.NET 2.0自动完成。个性化用户配置功能还支持从应用程序中任何位置访问的多种强类型API,以方便存储、显示和管理用户配置信息。使用个性化用户配置功能非常简单。首先,在Web.config文件中定义配置信息名称、数据类型等,然后,调用与用户配置功能有关的强类型API,例如,Profile实现对用户配置信息的存储、访问和管理等应用。

开发环境要求:visual studio 2005 + SQL Server 2005
如果你的数据库不是SQL Server 2005,请先根据如下教程进行环境配置:
http://www.itgao.com/html/2007-05/45481.html
程序目标:记录用户个性化数据(本例以匿名用户为例)

第一步进行web.config配置,启用和定义为用户存储和跟踪的配置信息。

<system.web>
    <profile>
      <properties>
        <add name="Name" allowAnonymous="true" />
        <add name="LastSubmit" type="System.DateTime" allowAnonymous="true"/>
        <group name="Address">
          <add name="City"  allowAnonymous="true"/>
          <add name="PostalCode"  allowAnonymous="true"/>
        </group>
      </properties>
  </profile>
</system.web>

上述配置定义了一个Name属性和Address组属性,而Address组属性里又包含了City和PostalCode属性,默认这些属性值都是string类型,当然我们也可以通过type="值类型"的方式显式规定其类型。allowAnonymous="true"规定了该配置支持匿名用户。

第二步配置SQL Server 数据库配置。
默认情况下,程序第一次执行该配置时会自动创建一个SQL Server 2005 Express (visual studio 2005安装时默认附带)的特定数据库实例。该数据库实例存放于应用程序根目录下的App_Data文件夹中,名字是ASPNETDB.MDF,它默认包含了存储用户配置信息的数据表和其他与用户配置相关的对象等。
所以,如果你使用的是SQL Server 2005的话,这一步可以省略。如果不是,请参考: http://www.itgao.com/html/2007-05/45481.html

第三步程序实现。
.aspx页面部分代码:

    <form id="form1" runat="server">
        <div>
            <fieldset style="width: 300px">
                <legend class="mainTitle">实现匿名用户个性化用户配置</legend>
                <br />
                <table border="0" width="90%" class="commonText" align="center" cellpadding="5">
                    <tr>
                        <td>
                            用户姓名:</td>
                        <td>
                            <asp:TextBox ID="txtName" runat="server"></asp:TextBox></td>
                    </tr>#p#分页标题#e#
                    <tr>
                        <td>
                            所在国家:</td>
                        <td>
                            <asp:TextBox ID="txtCity" runat="server"></asp:TextBox></td>
                    </tr>
                    <tr>
                        <td>
                            邮政编码:</td>
                        <td>
                            <asp:TextBox ID="txtPostalCode" runat="server"></asp:TextBox></td>
                    </tr>
                    <tr>
                        <td colspan="2" align="center">
                            <asp:Button ID="btnSubmit" runat="server" Text="提交" OnClick="btnSubmit_Click" />
                        </td>
                    </tr>
                </table>
            </fieldset>
        </div>
    </form>

后台.cs文件代码:

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //显示用户配置信息
            DisplayProfileInfo();
        }
    }
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        //保存用户配置信息到Profile属性中
        Profile.Name = txtName.Text;
        Profile.Address.City = txtCity.Text;
        Profile.Address.PostalCode = txtPostalCode.Text;
        //显示用户配置信息
        DisplayProfileInfo();
    }
    private void DisplayProfileInfo()
    {
        //从Profile属性中获取数据并赋值给服务器控件           
        txtName.Text = Profile.Name;
        txtCity.Text = Profile.Address.City;
        txtPostalCode.Text = Profile.Address.PostalCode;
    }
}

运行结果:
应用程序会将用户输入的用户名及国家信息等存放于数据库中,并且自动为用户生成唯一ID编号,客户端表示通常以Cookies的方式存放于客户端电脑上,有效期大约在60天左右。这样应用程序就很方便的储存了用户的个人设置信息,为程序的个性化服务提供了前提。#p#分页标题#e#

下一节我们将一起学习Asp.Net 2.0个性化服务 Web部件。