aspnet20入门经典4(编辑修改稿)内容摘要:
apters\Begin\Chapter04 目录会看到一个名为 App_Data 的文件夹。 单击右键并选择 Refresh(刷新 )文件夹,应该看到一个名为 的文件。 这是一个 Microsoft SQL 数据库文件,可以在VWD 的开发环境中查看这个数据库表格的结构和内容,如图 417 所示 (在学习数据库章节的时候将了解到这个过程的更多内容 )。 图 417 配置的另一个部分是为用户账户赋予一定的权限以便他们能够访问站点。 通过使用向导,这个过程可以变得很容易。 在向导完成之后,解决方案中就新增了一个名为 的文件 (保存在服务器上以偏爱的方式运行站点的配置文件 —— 详细内容请参阅第 2 章 )。 如果查看 Chapter04 文件夹中的 文件,将看到如图 418 所示的语句。 图 418 注意这个配置文件中的 allow„/ 和 deny„/ 之间的内容反映了我们在示例中设置的权限。 可以手动直接添加和修改这些语句,或 者使用 Administration Tool 使这个过程流程化,两种方式都可以。 值得注意的是, LoginView 控件除了根据用户是否已经登录显示特定的文本以外还可以完成很多功能。 在第 11 章中,您将看到使用这个控件不仅基于用户的身份,而且基于用户的角色来改变整个页面的外观。 这个控件可以包含文本、HTML 甚至其他控件。 下一个“试一试”练习中将进行演示。 个性化 站点个性化以反映当前登录用户的偏好是实现社区化和归属感的一种好方法。 虽然本章不会进行很多个性化处理,但在下一章本书将讨论一些 开发人员提供的功能,这些功能可以为用户提供更加个性化的用户界面和浏览体验。 对于任何个性化的站点,一个有用的附加功能是向已登录的用户通过某种类型的反馈信息,告诉用户站点已经正确地确认了他们的身份。 LoginName 控件是添加这种功能的简单方法。 在下面的“试一试”练习中,您将了解到如何使用这个控件。 在这个示例中,需要授权匿名用户访问站点。 (1) 可以选择任何一种喜欢的方式为匿名用户授权 —— 要么编辑 文件 (参考前面的“操作回顾” ),要么启动 Web Site Administration Tool。 要再次启动这个工具,可以在系统托盘中右击管理站点图标并选择 Open in Web Browser。 或者,如果选中修改 文件,只需在 VWD 中打开该文件并修改代码中的灰色部分: authorization allow users=? / allow users=administrator / allow users=chrishart / /authorization 问号表示所有匿名用户,因此通过将 deny 改为 allow,启用匿名访问。 (2) 接下来需要对网页代码进行少量的修改以便添加 LoginName 控件。 打开 页面并弹出 LoginView 控件的 Common Task 菜单 (单击该控件右上方的小箭头并选择LoggedInTemplate,如图 419 所示 )。 将文本修改为 You are logged in as,然后将一个LoginName 控件拖放到文本的结尾处。 图 419 (3) 在将 LoginName 控件添加到页面之后不需要对其进行任何修改,所以现在就可以保存修改并运行页面了。 首先看到的是一个匿名用户访问站点时的页面,如图 420 所示。 图 420 现在单击 Login 链接并登录站点。 登录成功之后,应该可以看到类似图 421 所示的页面,具体内容与登录所使用的用户账户有关。 图 421 操作回顾 使用 LoginName 控件在页面上显示当前登录用户的身份是一种快捷简单的方法。 如果切换 到该页面的 Source View,就可以看到 LoginName 控件,如下代码灰色部分所示: LoggedInTemplate You are logged in as asp:LoginName ID=LoginName1 runat=server / br / /LoggedInTemplate 在作者的代码中增加了一些 HTML 代码;因为我在 LoginName 控件之后按下了Return(以便 LoginStatus 控件能显示在下一行 ),在代码中出现了一个 br / HTML 标记。 这是一个简单的 HTML 换行代码。 在从 Design View 切换到 Source View 之后,开发人员经常可以看到类似的标记添加到代码中。 最常见的两个符号是 和 br / ; 是一个不可中断的空格 (这个空格将和紧靠在它前面和后面的内容显示在同一行上 ),而 br / 是一个简单的换行符。 这个示例的重点不是 HTML 代码,而是 LoginName 控件的源代码。 同样,在产生的代码中也没有任何让人兴奋的内容,因为 在幕后完成了寻找当前登录用户名称的重任,并在服务器呈现页面的时候将其插入到 页面中。 注意并没有将 LoginName 控件添加到 Anonymous 模板中,其实也没有理由要这样做 —— 如果作为匿名用户访问站点,该控件不会显示任何信息。 到现在为止您已经花了一定的时间试验用户账户和站点登录。 在本章的前面,我们已经讨论过角色的概念。 下一小节将介绍角色是什么以及怎样使用角色细化站点成员的特征。 成员关系 定义哪些用户可以访问站点对于一个小型的站点来说是完全可行的,但站点必须非常小而且规模必须保持在一个可管理的范围内。 一种更好的解决方案是定义一组用户角色,然后将用户账户添加到恰当 的角色中。 一旦用户成为某个角色的成员之后,就可以基于角色为用户授权。 例如,考虑一个典型的站点配置情景: Administrators 角色的所有成员可以访问站点,而且可以访问站点的所有部分。 Users 角色的所有成员可以访问该站点,但不能访问某些受限的部分。 所有匿名用户都将看到裁减过的页面,但没有任何个性化信息,而且理所当然不能访问受限的部分。 第 11 章将更详细地讨论角色,包括充分利用角色细化 Wrox United 站点。 同时,在下面的“试一试”练习中可以体验到角色的作用,因为其中将扩展 Chapter04 示例包含 角色。 在这个示例中将定义两种角色: Users 和 Administrators。 在向角色添加用户之前必须先创建这些角色。 (1) 先再次启动 Web Site Administration Tool。 如果最近曾经使用过这个工具,那么可以右击系统托盘中该工具的图标并选择 Open in Web Browser。 或者,可以在 VWD 的主菜 单条中选择 Website→ Configuration。 在打开该工具之后,选择 Security 选项卡并单击Enable Roles 链接,如图 422 所示。 图 422 (2) 接下来应该可以单击 Create or Manage Roles 链接。 单击该链接进入 Create New Role界面。 在这里,需要 创建两个角色: users 和 admini。aspnet20入门经典4(编辑修改稿)
相关推荐
entArgs e) { if (!) { = aaaaaaaaaaaaa。 ()。 //或 ()。 } } 当 () 运行显示出来的效果 () 运行显示出来的效果 三 . %=% 这种形式实际上是由 %%扩展而来的 .等价于 :(%%)这种形式 (不标准,但能看明白 ),它其实也可以看成是一种绑定 . aspx代码 : 复制 保存 label
void DGzf_ItemDataBound(object sender, e) { if (!=) { ( onmouseout,=\+[BACKGROUNDCOLOR]+\)。 ( onmouseover,=\+ EFF3F7+\)。 } } < ASP:TEMPLATECOLUMN visible=False sortexpression=demo headertext=ID> <
符型转换 转为字符串 (n)。 //生成 12, (C)。 //生成 ¥ 12, (e)。 //生成 +004 (f4)。 //生成 (x)。 //生成 3039 (16 进制 ) (p)。 //生成 1,234,% 变量 .Length 数字型 以下为引用的内容: 取字串长度: 如: string str=中国。 int Len =。 //Len 是自定义变量, str 是求测的字串的变量名
s) Then sLastClass = RSClass(fldClass) OPTION VALUE= amp。 RSClass(fldID) amp。 amp。 sLastClass amp。 /OPTION sJavaScript = sJavaScript amp。 } if ([].value== RSClass(fldID) amp。 ){ End If s
317 所示 )。 这是一个必须理解的关键概念,服务器所执行的处理过程将在第 6 章详细讨论。 图 317 下面用一个简单的示例帮助您理解这个概念。 这个“试一试”是一个非常简单的示例,它将演示 代码和 HTML 代码的区别。 (1) 再次打开 Chapters03 站点。 (2) 右击站点的根目录并选择 Add New Item。 (3) 在弹出的对话框内 ( 如图 318 所示 ) ,选 择
个文件夹的名称就是所创建的主题的名称。 所有的主题都保存在一个名为 App_Themes 的应用程序文件夹中。 下面是一个皮肤文件示 例: asp:Calendar runat=server FontNames=Century Gothic FontSize= Small OtherMonthDayStyle BackColor=Lavender / DayStyle