List 如何将自定义列添加到现有WSS列表模板
我需要使用功能订书机添加一些文本列到OOTB博客网站定义内的帖子列表中。我计划不使用网站栏,只将这些栏添加到列表中(我不使用网站栏,因为我有多个网站集,每个网站集只有一个帖子列表,所以在这种情况下网站栏不是很可重用)。我的问题是:我如何做到这一点 也许您可以创建一个功能,在激活该功能时,使用功能接收器中的对象模型将列添加(并根据需要删除)到特定列表中List 如何将自定义列添加到现有WSS列表模板,list,sharepoint,List,Sharepoint,我需要使用功能订书机添加一些文本列到OOTB博客网站定义内的帖子列表中。我计划不使用网站栏,只将这些栏添加到列表中(我不使用网站栏,因为我有多个网站集,每个网站集只有一个帖子列表,所以在这种情况下网站栏不是很可重用)。我的问题是:我如何做到这一点 也许您可以创建一个功能,在激活该功能时,使用功能接收器中的对象模型将列添加(并根据需要删除)到特定列表中 我将使用XMLSchema方法创建列,以确保每个列具有相同的GUID 也许您可以创建一个功能,在激活该功能时,使用功能接收器中的对象模型将列添加(
我将使用XMLSchema方法创建列,以确保每个列具有相同的GUID 也许您可以创建一个功能,在激活该功能时,使用功能接收器中的对象模型将列添加(并根据需要删除)到特定列表中
我将使用XMLSchema方法创建列,以确保每个列具有相同的GUID 最好的解决方案是为Posts列表创建一个隐藏的自定义操作。我在这里发布了一个简化版本 Elements.xml:
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction Id="XXXXXXXX"
RegistrationType="List"
RegistrationId="101"
Rights="Open"
Location="ViewToolbar"
Sequence="110"
Title="Hidden Settings Button"
ControlAssembly="MyLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=XXXXXX"
ControlClass="MyLib.MyClass"
/>
<FeatureSiteTemplateAssociation Id="XXXXXXX" TemplateName="YOUR_BLOG_SITE_TEMPLATE_NAME" />
MyClass.cs:
[DefaultProperty("Text")]
[ToolboxData("<{0}:MyClass runat=server></{0}:MyClass>")]
public class MyClass : WebControl
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
public string Text
{
get
{
String s = (String)ViewState["Text"];
return ((s == null) ? String.Empty : s);
}
set
{
ViewState["Text"] = value;
}
}
protected override void OnLoad(EventArgs e)
{
SPList list = SPContext.Current.List;
if (list != null)
{
list.Fields.Add(XXX, XXX, XXX);
list.Update();
}
}
}
[DefaultProperty(“文本”)]
[ToolboxData(“”)
公共类MyClass:网络控制
{
[可装订(真实)]
[类别(“外观”)]
[默认值(“”)
[可本地化(正确)]
公共字符串文本
{
得到
{
字符串s=(字符串)视图状态[“文本”];
返回((s==null)?字符串。空:s);
}
设置
{
ViewState[“文本”]=值;
}
}
受保护的覆盖无效加载(事件参数e)
{
SPList list=SPContext.Current.list;
如果(列表!=null)
{
列表.字段.添加(XXX,XXX,XXX);
list.Update();
}
}
}
最佳解决方案是为帖子列表创建一个隐藏的自定义操作。我在这里发布了一个简化版本
Elements.xml:
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction Id="XXXXXXXX"
RegistrationType="List"
RegistrationId="101"
Rights="Open"
Location="ViewToolbar"
Sequence="110"
Title="Hidden Settings Button"
ControlAssembly="MyLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=XXXXXX"
ControlClass="MyLib.MyClass"
/>
<FeatureSiteTemplateAssociation Id="XXXXXXX" TemplateName="YOUR_BLOG_SITE_TEMPLATE_NAME" />
MyClass.cs:
[DefaultProperty("Text")]
[ToolboxData("<{0}:MyClass runat=server></{0}:MyClass>")]
public class MyClass : WebControl
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
public string Text
{
get
{
String s = (String)ViewState["Text"];
return ((s == null) ? String.Empty : s);
}
set
{
ViewState["Text"] = value;
}
}
protected override void OnLoad(EventArgs e)
{
SPList list = SPContext.Current.List;
if (list != null)
{
list.Fields.Add(XXX, XXX, XXX);
list.Update();
}
}
}
[DefaultProperty(“文本”)]
[ToolboxData(“”)
公共类MyClass:网络控制
{
[可装订(真实)]
[类别(“外观”)]
[默认值(“”)
[可本地化(正确)]
公共字符串文本
{
得到
{
字符串s=(字符串)视图状态[“文本”];
返回((s==null)?字符串。空:s);
}
设置
{
ViewState[“文本”]=值;
}
}
受保护的覆盖无效加载(事件参数e)
{
SPList list=SPContext.Current.list;
如果(列表!=null)
{
列表.字段.添加(XXX,XXX,XXX);
list.Update();
}
}
}
我看不出创建帖子自定义操作列表有什么好处。这两篇文章都很有用,但我可能会为此创建自定义功能。我看不出创建文章自定义操作列表有什么好处。这两篇文章都很有用,但我可能会为此创建自定义功能。不要只使用字段。尽管添加。请确保使用特定的xml架构将GUID设置为与每个列表一致。不要只使用字段。尽管添加。确保使用特定的xml模式来设置GUID,使其与每个列表一致。