ActionParameter Class
The URL attribute of the Action object can take parameters. The ActionParameter object defines the parameters the action URL accepts.
Inheritance Hierarchy
System.Object
Microsoft.Office.Server.ApplicationRegistry.Administration.MetadataObject
Microsoft.Office.Server.ApplicationRegistry.Administration.AccessControlledMetadataObject
Microsoft.Office.Server.ApplicationRegistry.Administration.ActionParameter
Namespace: Microsoft.Office.Server.ApplicationRegistry.Administration
Assembly: Microsoft.SharePoint.Portal (in Microsoft.SharePoint.Portal.dll)
Syntax
'Declaration
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class ActionParameter _
Inherits AccessControlledMetadataObject
'Usage
Dim instance As ActionParameter
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class ActionParameter : AccessControlledMetadataObject
Remarks
Important
ActionParameters are associated with TypeDescriptors that belong to the TypeDescriotor returned by the SpecificFinder MethodInstance. Therefore, the ActionParameter name should be a name of a TypeDescriptor returned by the SpecificFinder MethodInstance. Also, as with any other MetadataObject, ActionParameter names must be unique under the scope of the action.
Schema
Child |
Type |
Occurs |
Default |
Limits / Accepted Values |
Description |
---|---|---|---|---|---|
Index |
Attribute (bdc: Ordinal) |
1..1 |
Min.: 0 |
Index of the placeholder (or "format item") in the URL to which this parameter corresponds. |
|
Name |
String |
1.1 |
Min.: 1 |
ActionParameter names correspond to the name of a TypeDescriptor in the Specific Finder View of the Entity. ActionParameter is bound to the TypeDescriptor using the Name property. In the event of multiple TypeDescriptors with same name, the ActionParameter will be bound to the first TypeDescriptor in Specific Finder View. ActionParameter name must be unique in the scope of the action. |
Examples
The following code example adds an action and updates the ProductModel entity.
Prerequisites
Ensure a Shared Service Provider is already created.
Create an LobSystemInstance object and set connection parameters as shown in How to: Create an LobSystem Using the Administration Object Model.
Create the ProductModel entity as shown in How to: Create an Entity Using the Administration Object Model
Create a Finder method as shown in How to: Create a Method and Filters Using the Administration Object Model
Replace the constant value EnterYourSSPNameHere in the code with the name of your Shared Resource Provider.
Project References
Add the following Project References in your console application code project before running this sample:
Microsoft.SharePoint
Microsoft.SharePoint.Portal
Microsoft.Office.Server
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Server.ApplicationRegistry.Administration;
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
using WSSAdmin = Microsoft.SharePoint.Administration;
using OSSAdmin = Microsoft.Office.Server.Administration;
namespace Microsoft.SDK.SharePointServer.Samples
{
class GetStartedAndCreateSystem
{
const string yourSSPName ="EnterYourSSPNameHere";
static void Main(string[] args)
{
SetupBDC();
UpdateEntity();
Console.WriteLine("Press any key to exit...");
Console.Read();
}
static void SetupBDC()
{
SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
}
static void UpdateEntity()
{
LobSystemInstance mySysInstance = null;
LobSystemInstanceCollection sysInsCollection = ApplicationRegistry.Instance.GetLobSystemInstancesLikeName("AdventureWorksSampleFromCode");
foreach (LobSystemInstance sysInstance in sysInsCollection)
{
if (sysInstance.Name == "AdventureWorksSampleFromCode")
{
mySysInstance = sysInstance;
break;
}
}
IList<Entity> entityCollection = new List<Entity>(mySysInstance.LobSystem.Entities);
Entity e = entityCollection[0];
Action pmaction = e.Actions.Create("Search on MSN", true, 1, true, "https://www.msn.com?q={0}", null);
pmaction.ActionParameters.Create("Name", true, 0);
Console.WriteLine("Added an action and updated the entity successfully.");
}
}
}
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also
Reference
Microsoft.Office.Server.ApplicationRegistry.Administration Namespace