gpt4 book ai didi

sharepoint-2010 - 如何在 SharePoint 2010 EditModePanel 中显示正确的分类法控件?

转载 作者:行者123 更新时间:2023-12-04 07:06:36 24 4
gpt4 key购买 nike

我们在 SharePoint 2010 构建中有一个自定义内容类型,其中包括关键字的托管元数据字段。

该字段似乎已部署正常,因为如果我编辑它所在的列表中的项目,我将获得正确的分类选择器控件,并且我的术语将从术语库中检索。

但是;我们在项目的 PageLayout 上使用 EditModePanel 以允许在现场编辑项目,但我无法显示正确的分类选择器控件。

如果我将 TaxonomyWebTaggingControl 添加到页面布局并对 SSPId 等进行硬编码,那么它就可以工作;

<TaxonomyControls:TaxonomyWebTaggingControl runat="server" SSPId="234234-234234-34341-343" TermSetId="234234-23342-34234-234-234"/>

但是我们不能对这些值进行硬编码,因为术语库将在客户端部署站点时创建。

当我们创建内容类型时,我们有一个事件接收器,它使用它们的名称将该字段绑定(bind)到正确的术语库/集,但我不明白如何在 EditModePanel 中获取一个字段来获取/设置这些。

我真正想要的是这样的:

<TaxonomyControls:TaxonomyWebTaggingControl runat="server" TermStore="My term store name" TermSet="Keywords"/>

我错过了什么吗?

我的事件接收器是这样的:

 try
{
SPSite site = ((SPWeb)properties.Feature.Parent).Site as SPSite;

Guid fieldId = new Guid("3211B052-5332-424C-A066-BBE21AEAB878");
if (site.RootWeb.Fields.Contains(fieldId))
{
TaxonomySession session = new TaxonomySession(site);

if (session.TermStores.Count != 0)
{
var termStore = session.TermStores["Managed Metadata Service"];
var group = termStore.Groups.GetByName("My Client");
var termSet = group.TermSets["Keywords"];

TaxonomyField field = site.RootWeb.Fields[fieldId] as TaxonomyField;

field.SspId = termSet.TermStore.Id;
field.TermSetId = termSet.Id;
field.AnchorId = Guid.Empty;
field.AllowMultipleValues = true;
field.TextField = fieldId;
field.TextField = new Guid("{574C5BCE-74E8-40C8-BE90-C9338135D491}");
field.Update();
Log.Logger.LogEvent("ContentType Activation", "Updated keywords field with MMS details");
}
}
}
catch (Exception ex)
{
Log.Logger.LogException(ex, "Content Type Activation", ex.Message);
}

最佳答案

您应该为此使用 TaxonomyFieldControl:

<%@ Register Tagprefix="Taxonomy" Namespace="Microsoft.SharePoint.Taxonomy" Assembly="Microsoft.SharePoint.Taxonomy, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<Taxonomy:TaxonomyFieldControl FieldName="My Field Name" runat="server" id="myField"/>

关于sharepoint-2010 - 如何在 SharePoint 2010 EditModePanel 中显示正确的分类法控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4958005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com