WebPartsSection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供对 webParts
配置文件节的编程访问。 此类不能被继承。
public ref class WebPartsSection sealed : System::Configuration::ConfigurationSection
public sealed class WebPartsSection : System.Configuration.ConfigurationSection
type WebPartsSection = class
inherit ConfigurationSection
Public NotInheritable Class WebPartsSection
Inherits ConfigurationSection
- 继承
示例
此示例演示如何以声明方式为节的 webParts
多个属性指定值,这些属性也可以作为 类的成员 WebPartsSection 进行访问。
以下配置文件示例演示如何以声明方式为 webParts
节指定值。
<system.web>
<webParts>
<personalization
defaultProvider=" AspNetSqlPersonalizationProvider ">
<!-- Providers may only be defined at the
application level -->
<providers>
<add name="AspNetSqlPersonalizationProvider"
type="System.Web.UI.WebControls.WebParts.SqlPersonalizationProvider"
connectionStringName="LocalSqlServer"
applicationName="/" />
</providers>
<authorization>
<deny users="*" verbs="enterSharedScope" />
<allow users="Admin" verbs="modifyState" />
</authorization>
</personalization>
<transformers>
<add name="RowToFieldTransformer"
type="System.Web.UI.WebControls.WebParts.RowToFieldTransformer" />
<add name="RowToFilterTransformer"
type="System.Web.UI.WebControls.WebParts.RowToFilterTransformer" />
<add name="RowToParametersTransformer"
type="System.Web.UI.WebControls.WebParts.RowToParametersTransformer" />
</transformers>
</webParts>
</system.web>
下面的代码示例演示如何使用 WebPartsSection 类。
using System;
using System.Collections;
using System.Collections.Specialized;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Configuration;
using System.Configuration.Provider;
using System.Web.Configuration;
namespace Samples.Aspnet.SystemWebConfiguration
{
// Accesses the System.Web.Configuration.WebPartsSection
// members selected by the user.
class UsingWebPartsSection
{
public static void Main()
{
// Process the System.Web.Configuration.WebPartsSectionobject.
try
{
// Get the Web application configuration.
Configuration configuration =
WebConfigurationManager.OpenWebConfiguration("/aspnet");
// Get the section.
WebPartsSection webPartsSection = (WebPartsSection)
configuration.Sections["system.web/webParts"];
// Add a Transfomer Info Object to the collection using a constructor.
webPartsSection.Transformers.Add(new TransformerInfo(
"RowToFilterTransformer",
"MyCustomTransformers.RowToFilterTransformer"));
// Show all TransformerInfo objects in the collection.
for (int ti = 0;
ti < webPartsSection.Personalization.Providers.Count; ti++)
{
Console.WriteLine(" #{0} Name={1} Type={2}", ti,
webPartsSection.Transformers[ti].Name,
webPartsSection.Transformers[ti].Type);
}
// Remove a TransformerInfo object by name.
webPartsSection.Transformers.Remove("RowToFilterTransformer");
// Remove a TransformerInfo object by index.
webPartsSection.Transformers.RemoveAt(0);
// Clear all TransformerInfo objects from the collection.
webPartsSection.Transformers.Clear();
// Get the current DefaultProvider property value.
Console.WriteLine(
"Current DefaultProvider value: '{0}'",
webPartsSection.Personalization.DefaultProvider);
// Set the DefaultProvider property.
webPartsSection.Personalization.DefaultProvider =
"ASPNetSQLPersonalizationProvider";
// Add a provider.
webPartsSection.Personalization.Providers.Add(
new ProviderSettings("CustomProvider",
"MyCustomProviders.Provider"));
// List current providers.
for (int pi = 0;
pi < webPartsSection.Personalization.Providers.Count; pi++)
{
Console.WriteLine(" #{0} Name={1} Type={2}", pi,
webPartsSection.Personalization.Providers[pi].Name,
webPartsSection.Personalization.Providers[pi].Type);
}
// Add an authorization.
AuthorizationRule ar =
new AuthorizationRule(AuthorizationRuleAction.Allow);
ar.Verbs.Add("ModifyState");
ar.Users.Add("Admin");
webPartsSection.Personalization.Authorization.Rules.Add(ar);
// List current authorizations.
for (int ai = 0;
ai < webPartsSection.Personalization.Authorization.Rules.Count;
ai++)
{
Console.WriteLine(" #{0}:", ai);
AuthorizationRule aRule =
webPartsSection.Personalization.Authorization.Rules[ai];
Console.WriteLine(" Verbs=");
foreach (string verb in aRule.Verbs)
Console.WriteLine(" * {0}", verb);
Console.WriteLine(" Roles=");
foreach (string role in aRule.Roles)
Console.WriteLine(" * {0}", role);
Console.WriteLine(" Users=");
foreach (string user in aRule.Users)
Console.WriteLine(" * {0}", user);
}
// Update if not locked.
if (!webPartsSection.IsReadOnly())
{
configuration.Save();
Console.WriteLine("** Configuration updated.");
}
else
{
Console.WriteLine("** Could not update, section is locked.");
}
}
catch (System.ArgumentException e)
{
// Unknown error.
Console.WriteLine(
"A invalid argument exception detected in UsingWebPartsSection Main. Check your");
Console.WriteLine("command line for errors.");
}
}
} // UsingWebPartsSection class end.
} // Samples.Aspnet.SystemWebConfiguration namespace end.
Imports System.Collections
Imports System.Collections.Specialized
Imports System.IO
Imports System.Text
Imports System.Text.RegularExpressions
Imports System.Configuration
Imports System.Web.Configuration
Namespace Samples.Aspnet.SystemWebConfiguration
' Accesses the System.Web.Configuration.WebPartsSection
' members selected by the user.
Class UsingWebPartsSection
Public Shared Sub Main()
' Process the System.Web.Configuration.WebPartsSectionobject.
Try
' Get the Web application configuration.
Dim configuration As System.Configuration.Configuration = _
WebConfigurationManager.OpenWebConfiguration("/aspnet")
' Get the section.
Dim webPartsSection As WebPartsSection = _
CType(configuration.Sections("system.web/webParts"), _
WebPartsSection)
' Add a Transfomer Info Object to the collection using a constructor.
webPartsSection.Transformers.Add(New TransformerInfo( _
"RowToFilterTransformer", _
"MyCustomTransformers.RowToFilterTransformer"))
' Show all TransformerInfo objects in the collection.
Dim ti As Integer
For ti = 0 To webPartsSection.Personalization.Providers.Count - 1
Console.WriteLine(" #{0} Name={1} Type={2}", ti, _
webPartsSection.Transformers(ti).Name, _
webPartsSection.Transformers(ti).Type)
Next
' Remove a TransformerInfo object by name.
webPartsSection.Transformers.Remove("RowToFilterTransformer")
' Remove a TransformerInfo object by index.
webPartsSection.Transformers.RemoveAt(0)
' Clear all TransformerInfo objects from the collection.
webPartsSection.Transformers.Clear()
' Get the current DefaultProvider property value.
Console.WriteLine( _
"Current DefaultProvider value: '{0}'", _
webPartsSection.Personalization.DefaultProvider)
' Set the DefaultProvider property.
webPartsSection.Personalization.DefaultProvider = _
"ASPNetSQLPersonalizationProvider"
' Add a provider.
webPartsSection.Personalization.Providers.Add( _
New ProviderSettings("CustomProvider", _
"MyCustomProviders.Provider"))
' List current providers.
Dim pi As Integer
For pi = 0 To webPartsSection.Personalization.Providers.Count - 1
Console.WriteLine(" #{0} Name={1} Type={2}", pi, _
webPartsSection.Personalization.Providers(pi).Name, _
webPartsSection.Personalization.Providers(pi).Type)
Next
' Add an authorization.
Dim ar As AuthorizationRule = _
New AuthorizationRule(AuthorizationRuleAction.Allow)
ar.Verbs.Add("ModifyState")
ar.Users.Add("Admin")
webPartsSection.Personalization.Authorization.Rules.Add(ar)
' List current authorizations.
Dim ai As Integer
For ai = 0 To _
webPartsSection.Personalization.Authorization.Rules.Count
Console.WriteLine(" #{0}:", ai)
Dim aRule As AuthorizationRule = _
webPartsSection.Personalization.Authorization.Rules(ai)
Console.WriteLine(" Verbs=")
Dim verb As String
For Each verb In aRule.Verbs
Console.WriteLine(" * {0}", verb)
Console.WriteLine(" Roles=")
Next
Dim role As String
For Each role In aRule.Roles
Console.WriteLine(" * {0}", role)
Console.WriteLine(" Users=")
Next
Dim user As String
For Each user In aRule.Users
Console.WriteLine(" * {0}", user)
Next
Next
' Update if not locked.
If Not webPartsSection.IsReadOnly() Then
configuration.Save()
Console.WriteLine("** Configuration updated.")
Else
Console.WriteLine("** Could not update, section is locked.")
End If
Catch e As System.ArgumentException
' Unknown error.
Console.WriteLine( _
"A invalid argument exception detected in UsingWebPartsSection Main. Check your")
Console.WriteLine("command line for errors.")
End Try
End Sub
End Class
End Namespace ' Samples.Aspnet.SystemWebConfiguration
注解
使用 webParts
配置文件部分,可以指定 Web 部件个性化设置提供程序、设置个性化设置授权,并添加扩展 WebPartTransformer 类以供 Web 部件连接使用的自定义类。
构造函数
WebPartsSection() |
使用默认设置初始化 WebPartsSection 类的新实例。 |