- 浏览: 244121 次
- 性别:
- 来自: 葡萄牙
文章分类
最新评论
-
lightbulb:
...
jQuery中的动画与效果 -
kendezhu:
opportunity 写道 谢谢kendezhu分享,今天正 ...
jQuery 获取和设置select下拉框的值 -
opportunity:
谢谢kendezhu分享,今天正好用上了!
jQuery 获取和设置select下拉框的值
既然由登录控件涉及到了Membership,那么就不得不提到用户个性化Profile对象。个性化允许为用户保存特定的个性化信息到数据库中,因此它不同于ASP.NET状态管理之处在于可以永久性保存这些信息,很有必要强调一下web application与website的一个不同,web application中无法象website中那样,直接用Profile对象(http://hi.baidu.com/windlhj/blog/item/8f4c4a13779de02fdc5401b7.html,web application和website相互转化http://blog.csdn.net/guwenzhong/archive/2009/11/10/4792814.aspx)。个性化的设置与Membership的设置非常类似:
1.配置个性化提供者
默认个性化提供者是SqlProfileProvider,它使用ASP.NET.MDF(怎么样是不是非常熟悉,忘记的话去看Membership的设置)存储个性化信息。实际上你按照Membership的设置创建好数据存储,也就把个性化的数据存储创建好了,因为Membership与Profile用的是一个数据库(包括利用aspnet_regsql.exe更换数据库以后),用户的个性信息保存在数据库的aspnet_profile表中。与Membership一样Profile的个性提供者也是在根web.config里配置的。因为之前已经配置好了数据库连接节点,所以这里只配个性化提供者就行了:
<system.web>
<profile defaultProvider="MyFirstSqlProfileProvider">
<providers>
<clear/>
<add name="MyFirstSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider"
connectionStringName="newsystemConnectionString" applicationName="ProfileDemo"/>
</providers>
</profile>
</system.web>
这样就配置好了个性化提供者,其名字是MyFirstSqlProfileProvider。
而我们既然要存储用户的个性化信息到aspnet_profile表中,我们必须为其添加属性,而这些属性要在<profile>节点内的<properties>里用<add>标签添加,并且至少要有一个属性名:
<system.web>
<profile defaultProvider="MyFirstSqlProfileProvider">
<providers>
<clear/>
<add name="MyFirstSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider"
connectionStringName="newsystemConnectionString" applicationName="ProfileDemo"/>
</providers>
<properties>
<add name="QQ" type="string"/>
<add name="Age" type="Int32"/>
<add name="Address" type="string"/>
<add name="Tel" type="string"/>
</properties>
</profile>
</system.web>
profile属性的意思:name(属性名,必须)type(属性类型,默认是string)serializeAs(当序列化时使用的格式)
readOnly(只读属性)defaultValue(属性的默认值)allowAnonymous(布尔值,是否允许匿名用户读取和设置该属性)
Provider(该属性关联的个性化提供者)customProviderData(允许用户传递自定义数据到个性化提供者)
使用个性化属性
在默认情况下只有验证用户才能读取和写入个性化信息到数据库,举例如下:
//直接给profile赋值就可保存用户个性化,很类似session
protected void Button1_Click(object sender, EventArgs e)
{
//在webapp中无法像website中那样直接使用profile对象,引入using System.Web.Profile还是无法直接用,但可以使用ProfileBase,ProfileManager,ProfileMigrateEventArgs等类。
//存储个性化信息
HttpContext.Current.Profile.SetPropertyValue("QQ", TextBox9.Text);
HttpContext.Current.Profile.SetPropertyValue("Age", int.Parse(DropDownList2.SelectedValue));
HttpContext.Current.Profile.SetPropertyValue("Tel", TextBox10.Text);
HttpContext.Current.Profile.SetPropertyValue("Address",TextBox11.Text);
}
protected void Button2_Click(object sender, EventArgs e)
{
//获取个性化信息
Label1.Text = "当前用户:" + HttpContext.Current.Profile.UserName + "QQ:" + HttpContext.Current.Profile.GetPropertyValue("QQ") + "Age:" + HttpContext.Current.Profile.GetPropertyValue("Age") + "Tel" + HttpContext.Current.Profile.GetPropertyValue("Tel") + "Address" + HttpContext.Current.Profile.GetPropertyValue("Address");
}
还可以给个性化属性分组便于管理:在web.config中<properties>节点内加<group>再添加组名跟属性即可:
<system.web>
<profile defaultProvider="MyFirstSqlProfileProvider">
<providers>
<clear/>
<add name="MyFirstSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider"
connectionStringName="newsystemConnectionString" applicationName="ProfileDemo"/>
</providers>
<properties>
<add name="QQ" type="string"/>
<add name="Age" type="Int32"/>
<add name="Address" type="string"/>
<add name="Tel" type="string"/>
<group name="Habits">
<add name="likebooks"/>
<add name="likesports"/>
</group>
</properties>
</profile>
</system.web>
那些属性的type类型也可以是自己写的类(该类既可以在App_Code里(App_Code相当于当前命名空间里的子命名空间(在webapp里使用注意其里面类的属性要改成编译才能被智能提示))也可以在已编译好的DLL里(DLL是程序集的一种形式(另一种是exe)但在Web.config里一定要写全类所在的命名空间.类名,否则会出现找不到类型的错误):
如 <add name="ZiDingDe" type="Dingyibymyself.personlity"/> 属性名ZiDingDe 类型 写全类所在的命名空间.类名 Dingyibymyself.personlity
再如在App_Code里的自定义类 <add name="ZiDingDe2" type="WebApplication1.App_Code.personlity"/> 是不是就是子命名空间?
发表评论
-
ASP.NET报表技术
2011-08-01 00:39 2287水晶报表 我们先来看看在ASP.NET中使用水晶报表需 ... -
ASP.NET中的缓存技术
2011-02-21 22:54 1432http://www.cnblogs.com/ltp/arch ... -
异常处理和日志追踪
2010-12-21 12:25 1252关于异常的处理想必 ... -
ASP.NET状态管理
2010-12-13 16:10 1341开发WinFrom的程序员可能不会在意维护应用程序 ... -
关于aspx页面类继承于cs页面类
2010-10-19 17:01 4938cs页面类继承自System.Web.UI.Page类,一般和 ... -
使用数据库文件
2010-10-14 19:55 884以前很多项目都是连接的SQLServer数据库里的数据库 ... -
C#与Javascript中时间的格式化操作
2010-09-15 16:41 1661C#里时间格式化 一般的DateTime.Now.ToStr ... -
ASP.NET页面生命周期
2010-08-25 02:53 891http://www.cnblogs.com/KingStar ... -
获得漂亮的Flash|Javascript钟表代码
2010-08-24 16:06 1597http://www.clocklink.com ht ... -
程序集(类库,java里也叫类库,对于NetBean位于其库里)与命名空间(相当于java里的包)
2010-08-23 21:23 1516http://book.51cto.com/art/20090 ... -
Temporary ASP.NET Files
2010-08-23 21:05 738http://book.51cto.com/art/20090 ... -
webapplication与website
2010-08-22 16:59 905http://blog.csdn.net/ups216/arc ... -
概念,依旧是概念……csproj文件是做什么用的?
2010-08-22 16:37 1460csproj是.net项目文件的后缀名,它是C Sharp P ... -
web application中使用Profile应该注意的问题
2010-08-22 14:04 651http://hi.baidu.com/windlhj/blo ... -
.Net 2.0 中的发送邮件实现C#代码
2010-08-19 16:15 1551http://hi.baidu.com/ganggang021 ... -
GridView 设置格式化 DataFormatString
2010-08-08 00:23 821http://www.cnblogs.com/emanlee/ ... -
利用 CSS Friendly Control Adapters 将 ASP.NET 控件转为符合WEB标准的、有语意的HTML页面 CSS 样式表控制。
2010-08-02 19:57 946http://www.cnblogs.com/wilsonwu ... -
App_data,App_code, bin,App_Browser,App_Themes,App_GlobalResources,App_LocalResou
2010-08-02 19:52 902http://blog.csdn.net/jjjjj10231 ... -
ASP.NET中的站点导航技术
2010-07-29 16:31 22901.站点地图 (站点地图文件) 是一个名为Web ... -
DropDownList1_SelectedIndexChanged不执行
2010-07-26 15:52 1119http://blog.sina.com.cn/s/blog_ ...
相关推荐
ASP.NET服务器控件与组件开发电子书及示例代码ASP.NET服务器控件与组件开发电子书及示例代码ASP.NET服务器控件与组件开发电子书及示例代码ASP.NET服务器控件与组件开发电子书及示例代码ASP.NET服务器控件与组件开发...
总结来说,Asp.net验证码控件是防止自动化攻击的重要工具。正确地选择和使用验证码控件,可以帮助提高网站的安全性,同时平衡用户体验。了解其工作原理、类型和使用方法,对于Asp.net开发者来说至关重要。
ASP.NET AJAX控件是微软为Web开发者提供的一种增强网页交互性和用户体验的技术。它结合了ASP.NET框架的强大功能和JavaScript库(Microsoft AJAX Library)的灵活性,允许开发者创建具有局部刷新、异步更新和丰富用户...
在ASP.NET中,用户控件和自定义控件是两种重要的组件,它们扩展了.NET Framework的内置控件,帮助开发者创建具有特定功能和交互性的界面元素。 **用户控件(User Control)** 用户控件是ASP.NET中的基本自定义UI元素...
Asp.Net开发控件是Web应用开发中的重要组成部分,它为开发者提供了丰富的界面元素和功能,使得构建交互式、动态的网页变得更加便捷。Asp.Net框架内置了大量的服务器控件,这些控件可以直接在服务器端处理事件,简化...
asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件...
1、熟练掌握ASP.NET服务器控件的使用。 2、熟练掌握验证控件的使用。 二、实验内容 1、编写一个Web应用程序Login,该程序用于检查用户登录信息。当用户输入正确的用户名和密码时,显示登录成功的消息。否则,显示...
asp.net分页控件asp.net分页控件
在ASP.NET 2.0版本中,引入了一组强大的导航控件,极大地增强了用户界面的交互性和可用性。这些控件允许开发者轻松创建功能丰富的网站导航结构,使用户能够方便地浏览和定位网页内容。 导航控件包括以下几种: 1. ...
ASP.NET服务器控件是.NET框架中的核心组成部分,用于构建动态Web应用程序。在ASP.NET中,服务器控件提供了丰富的功能,使开发人员能够更方便地创建交互式的网页。本教程“ASP.NET服务器控件高级编程”深入探讨了这些...
Asp.Net翻页控件,方便使用。Asp.Net翻页控件,方便使用。Asp.Net翻页控件,方便使用。Asp.Net翻页控件,方便使用。
ASP.NET时间控件是开发Web应用程序时常用的组件,主要用于用户界面中输入或选择日期和时间。在ASP.NET框架中,有多种时间控件可供选择,它们提供了丰富的功能和易用性,使得开发者能够轻松地集成日期和时间选择功能...
在ASP.NET中,翻页控件是网页数据展示时常用的一种组件,尤其在处理大量数据时,它能帮助用户分页浏览内容,提高用户体验。本文将详细介绍如何自定义一个ASP.NET翻页控件。 首先,理解ASP.NET中的控件体系。ASP.NET...
ASP.NET上传控件是网页应用开发中的重要组成部分,它允许用户在服务器端处理大量数据时上传文件。在本文中,我们将深入探讨“一个很好用的ASP.NET上传控件”,了解其特点、使用方法以及如何在项目中集成和操作。 ...
ASP.NET自定义控件是开发ASP.NET Web应用程序时的一个重要技术。它允许开发者根据特定需求创建功能独特的用户界面元素,从而提高应用的可扩展性和可维护性。在本压缩包中,提供的“asp.net 自定义控件源码”是个人...
网页制作ASP.NET验证控件和用户控件.ppt
ASP.NET 服务器控件:DropDownCheckBoxList ,支持下拉多选,支持.NET3.5 支持主流浏览器IE8及以上版本 FF3.5+,Chrome 9+,Safari 5 等浏览器。
Asp.Net服务器端控件遵循一个详细的生命周期,包括初始化、加载、验证、呈现和卸载等阶段。开发者可以在这些阶段中插入代码,以在适当的时间执行操作。 7. **控件集成功能** Asp.Net服务器端控件可以与其他控件...
ASP.NET日历控件是微软开发的Web应用程序框架ASP.NET中的一个重要组成部分,它允许开发者在网页上创建交互式的日期选择功能。这个控件是基于服务器的,因此可以在服务器端进行处理,并能通过HTTP协议将结果传送到...