Web.config详解
<?xml version="1.0" encoding="utf-8" ?>
<configuration> 所有.NET配置文件所必须的根元素
<system.web> 实际ASP.NET配置设置的根元素
<!-- 动态调试编译
设置 compilation debug="true" 以启用 ASPX 调试。否则,将此值设置为
false 将提高此应用程序的运行时性能。
设置 compilation debug="true" 以将调试符号(.pdb 信息)插入到编译页中。
因为这将创建执行起来较慢的大文件,所以应该只在调试时将此值设置为 true,而在所有其他时候都设置为false。有关更多信息,请参考有关调试 ASP.NET 文件的文档。
defaultLanguage="c#" 指定动态编译时使用的默认编程语言,它的值可以是compilers标记定义的任何语言。
tempDirectory 指编译过程中存储文件的目录
-->
<compilation
defaultLanguage="c#"
debug="true"
/>
<!-- 自定义错误信息
设置 customErrors mode="On" 或 "RemoteOnly" 以启用自定义错误信息,或设置为 "Off" 以禁用自定义错误信息。
为每个要处理的错误添加 <error> 标记。
"On" 始终显示自定义(友好的)信息。如果没有提供defaultRedirect属性,则用户将看到一般的错误信息.
"Off" 始终显示详细的 ASP.NET 错误信息。显示全部的错误细节
"RemoteOnly" 只对不在本地 Web 服务器上运行的用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便不向远程客户端显示应用程序的详细信息。
-->
<customErrors
mode="RemoteOnly"
/>
使用customErrors 元素,可以配置应用程序响应各种HTTP错误时的行为。例如,通过如下代码,当发生404错误时,就可以把页面重新导向一个友好的页面。
<customErrors defaultRedirect=”standarderror.aspx” mode="remoteonly">
<error statuscode=”404” redirect=”filenotfound.htm”/>
</customErrors>
当发生HTTP错误时,上面的代码将把用户导向standarderror.aspx页面。如果错误是代码404(即没有发现文件),将把用户导向filenotfound.htm。但是,由于模式设置为remoteonly,所有本地的管理员将会看到真实的错误信息,而不是被导向其它的页面,但远程的客户将会看到自定义的错误页面。
<!-- 身份验证
此节设置应用程序的身份验证策略。可能的模式是 "Windows"、
"Forms"、 "Passport" 和 "None"
"None" 不执行身份验证。
"Windows" IIS 根据应用程序的设置执行身份验证 包含全部的IIS身份验证,此外,NTFS在文件和目录上的权限将决定对目录中资源的访问。
(基本、简要或集成 Windows)。在 IIS 中必须禁用匿名访问。
"Forms" 您为用户提供一个输入凭据的自定义窗体(Web 页),然后
在您的应用程序中验证他们的身份。用户凭据标记存储在 Cookie 中。
使用cookies去指出授权用户。
"Passport" 身份验证是通过 Microsoft 的集中身份验证服务执行的,
它为成员站点提供单独登录和核心配置文件服务。
-->
<authentication mode="Windows" />
下面是使用Passport的身份验证的示例。在这个对目录进行配置的示例中,如果用户没有提供有效的Passport,则把用户导向login.aspx页面。
<authentication mode=”Passport”>
<passport redirectUrl=”login.aspx”/>
</authentication>
下面的示例阐明了怎样使用基于窗体的身份验证,以及怎样把有效的用户名和密码保存在配置文件中:
<authentication mode=”Forms”>
<Forms name=”SecureApplication”
loginUrl=”/secureapplication/custlogin.aspx/”>
<credentials passwordFormat=”Clear”>
<user name=”admin” password=”admin”/>
</credentials>
</forms>
</authentication>
<!-- 授权
此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问
应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名
(未经身份验证的)用户。
-->
<authorization>
<allow users="*" /> <!-- 允许所有用户 -->
<!-- <allow users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
<deny users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
-->
</authorization>
<!-- 应用程序级别跟踪记录
应用程序级别跟踪为应用程序中的每一页启用跟踪日志输出。
设置 trace enabled="true" 可以启用应用程序跟踪记录。如果 pageOutput="true",则
在每一页的底部显示跟踪信息。否则,可以通过浏览 Web 应用程序
根目录中的 "trace.axd" 页来查看
应用程序跟踪日志。
-->
<trace
enabled="false"
requestLimit="10"
pageOutput="false"
traceMode="SortByTime"
localOnly="true"
/>
默认状态下,trace元素处于激活状态,但是它的输出没有显示给Web页面。在trace元素中也可以定义侦听器,侦听器其实是一些对象,使用那些对象,可以收听、收集和发送各种消息。下面代码中定义的侦听器可以把跟踪信息写到日志文件(即文本文件中):
<trace enabled="true" requestLimit=”10” pageOutput=”false”>
<listeners>
<add name=”TraceListener”
type=”System.Diagnostics.TextWriterTraceListener,System”
initializeData=”TraceListener.log”/>
</listeners>
</trace>
<!-- 会话状态设置
默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。
如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
若要禁用 Cookie,请设置 sessionState cookieless="true"。
-->
默认状态下,ASP.NET通过发送用户cookies(当用户关闭他们的浏览器时,cookies将终止),对会话状态进行维护。
<sessionState
mode="InProc" 指ASP.NET会话状态的维护工作是在本地进行的。
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
<!-- 全球化
此节设置应用程序的全球化设置。
-->
Web站点的用户经常要发送和接收文本,这是文本编码格式的配置,默认是rtf-8。
<globalization
requestEncoding="GB2312"
responseEncoding="GB2312"
/>
</system.web>
AppSettings元素
<appSettings>元素处于<system.web>根配置之外,它是<configuration>部分的一个子元素。通过简单的指定一对名称/值,就可以添加配置设置。如:
<appSettings>
<add key="websitename" value="My New WebSite"/>
<add key="welcomemessage" value="Welcome to my new Website,friend!"/>
</appSettings>
</configuration>
示例:访问<appSettings>元素
1、按照上面的设置修改Web.config文件
2、建立网页test1.aspx,加2个标签。
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<P>
<asp:Label id="lblSiteName" runat="server" Font-Bold="True" Font-Size="Large"></asp:Label></P>
<P>
<asp:Label id="lblWelcome" runat="server" ForeColor="Red"></asp:Label></P>
</FONT>
</form>
3、test1.aspx.cs文件
首先:using System.Configuration;(顶上加1句)
其次:private void Page_Load(object sender, System.EventArgs e)
{
lblSiteName.Text=(string)ConfigurationSettings.AppSettings["websitename"];
lblWelcome.Text=(string)ConfigurationSettings.AppSettings["welcomemessage"];
// 在此处放置用户代码以初始化页面
}
效果如下:
My New WebSite
Welcome to my new Website,friend!
树型控件TreeView
分类:心得体会
TreeView Web 控件的使用
在这个地址去下载,是一个大小为 360 KB 的IEWebControls.exe安装文件。
http://www.asp.net/Iewebcontrols/download.aspx?tabindex=0&tabid=1
1、执行安装文件后,将创建一个新目录(默认为 C:Program FilesIE Web Controls,您也可以在安装过程中配置此目录)。在安装目录找到 “build.bat”文件,用记事本将其打开。把“csc.exe”换成绝对路径“C:WINNTMicrosoft.NETFrameworkv1.1.4322csc.exe”。保存后执行build.bat文件(记得把“只读”属性去掉)。(注意:XP系统是WINDOWS)
如下:
@if "%_echo%"=="" echo off
if not exist build mkdir build
c:winntmicrosoft.netframeworkv1.1.4322csc.exe /out:buildMicrosoft.Web.UI.WebControls.dll @IEWebControls.rsp
xcopy srcRuntime buildRuntime /E /Y /I /Q
或者是:
在我的电脑的属性里面高级找到环境变量path中把下面这句加上
C:WINNTMicrosoft.NETFrameworkv1.1.4322
然后双击 build.bat
文件。
2、编译完成后,在安装目录下可以看到“build”文件夹﹐build 目录将包含程序集文件 Microsoft.Web.UI.WebControls.dll
和子目录 Runtime
。把该目录下的“Runtime”子目录里所有文件复制到“C:Inetpubwwwrootwebctrl_client1_0”(若没有,则自行创建。注意,在 IIS 中新建站点的话,必须把“webctrl_client”目录复制到站点根目录下,如:g:aspnetyl0721 与应用目录如tszl同级)
3 打开 VS.NET → 右击“工具箱”→ 添加/删除项 → 浏览 → 选中上述编译的文件“Microsoft.Web.UI.WebControls.dll”→ 确认后即可看到添加的“TreeView”控件
打开项目文件的aspx页,在工具箱的Web窗体上点击右键,选择添加/移除项.
选择.NET Framework 组件,选择Microsoft.Web.UI.WebControls.dll
程序集文件,点击打开,确定。
这样就将 TreeView 控件添加到 Visual Studio .NET 工具箱中。要将该控件中添加到
ASP.NET Web 页中,只需要将控件从工具箱拖放到设计器中即可。
要在内含代码的类中使用 IE Web 控件,首先需要右击 Reference(引用),然后选择 Add Reference(添加引用),将引用添加到 Microsoft.Web.UI.WebControls.dll
程序集中。然后,在内含代码的类中,如果使用的是 C# ,则添加 using Microsoft.Web.UI.WebControls
;如果使用的是 Microsoft Visual Basic? .NET,则添加 Imports Microsoft.Web.UI.WebControls
。
静态指定 TreeView 结构
要静态指定组成 TreeView 的 TreeNode。请从 Properties(属性)窗格中选择 Nodes(节点)属性,然后单击此属性右侧的省略号按钮。这时将显示 TreeNodeEditor(TreeNode 编辑器)对话框。现在可以将新的 TreeNode 添加到 TreeView 中。
图 2 显示了输入家族树信息后的 TreeNodeEditor(TreeNote 编辑器)对话框。
图 2:TreeNodeEditor(TreeNote 编辑器)对话框
除了文本标签以外,TreeNote 还可以关联图像。尤其值得说明的是,每个 TreeNote 可以关联三幅图像:当 TreeNote 处于标准(折叠)状态时显示一幅图像;当 TreeNote 处于展开状态时显示另一幅图像;当 TreeNote 处于选中状态(当用户单击 TreeNote 时,该节点变为选中状态)时显示第三幅图像。这三种属性都需要一个指向指定图像的 URL。
例如,可以通过以下方法展开家族树演示:将 TreeView 的 ImageUrl
属性设置为指向某个闭合的文件夹图像的 URL,将 TreeView 的 ExpandedImageUrl
属性设置为指向某个打开的文件夹图像的 URL,从而分别将折叠和已展开的 TreeNote 显示为闭合的文件夹和打开的文件夹。(如果要为选定的 TreeNote 换一幅图像,只需要将 TreeView 的 SelectedImageUrl
属性设置为相应的 URL 即可。)
请注意,TreeView 和 TreeNote 都具有 ImageUrl
、ExpandedImageUrl
和 SelectedImageUrl
属性。不同的是,当设置 TreeView 的属性时,默认情况下,TreeView 中所有 TreeNote 都将显示指定的图像; 如果设置 TreeNote 的属性,则这些属性仅适用于当前特定的 TreeNote。由于我们希望所有 TreeNote 处于折叠状态时显示为闭合的文件夹,处于展开状态时显示为打开的文件夹,因此我们对 TreeView 控件的 ImageUrl
和 ExpandedImageUrl
属性进行了设置。
TreeNote 也可以关联 URL。当单击关联有 URL 的 TreeNote 时,会自动将用户快速链接到指定的 URL。TreeNote 的 NavigateUrl
属性用于指示当单击 TreeNote 时将用户链接到的 URL。该功能对于包含两个窗框的 ASP.NET Web 页非常有用。左侧窗框中包含一个 TreeView 控件。当用户单击某个 TreeNote 时,该节点的详细信息将显示在右侧窗框中,这与在 Windows 资源管理器中单击左侧窗格中的某个系统文件夹,该文件夹的文件将显示在右侧窗格中的情形类似。
要关联 URL,只需要将每个 TreeNote 的 NavigateUrl
设置为相应的 URL。要将 TreeNote 的关联 URL 加载到其他浏览器窗框中,请将 TreeNote 的 Target
属性设置为相应的窗框名称。这些步骤都可以通过 TreeNodeEditor(TreeNote 编辑器)来完成。