WebPartsSection クラス
アセンブリ: System.Web (system.web.dll 内)


webParts 構成ファイル セクションを使用すると、Web パーツ パーソナル化プロバイダの指定、パーソナル化承認の設定、および Web パーツ接続で使用する WebPartTransformer クラスを拡張するカスタム クラスの追加を実行できます。

この例では、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 クラスを使用する方法を次のコード例に示します。
Imports System 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 ' UsingWebPartsSection. End Namespace ' Samples.Aspnet.SystemWebConfiguration
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.

System.Configuration.ConfigurationElement
System.Configuration.ConfigurationSection
System.Web.Configuration.WebPartsSection


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- WebPartsSection クラスのページへのリンク