C# Sharepoint自定义字段
我已经创建了一个自定义字段类型,我认为没有错误,因为它很简单,但是字段框没有显示在表单中(参见图) .ascx文件:C# Sharepoint自定义字段,c#,.net,sharepoint-2010,C#,.net,Sharepoint 2010,我已经创建了一个自定义字段类型,我认为没有错误,因为它很简单,但是字段框没有显示在表单中(参见图) .ascx文件: <SharePoint:RenderingTemplate ID="MyField" runat="server"> <Template> <asp:TextBox ID="TextField" MaxLength="255" runat="server" BackColor="Pink" Font-Bold="true" BorderSt
<SharePoint:RenderingTemplate ID="MyField" runat="server">
<Template>
<asp:TextBox ID="TextField" MaxLength="255" runat="server" BackColor="Pink"
Font-Bold="true" BorderStyle="Dotted" BorderColor="DarkBlue" TextMode="MultiLine" />
</Template>
</SharePoint:RenderingTemplate>
和控制文件:
namespace MyCustomField.CustomField
{
internal class MyCustomFieldControl : RichTextField
{
protected override void CreateChildControls()
{
ControlMode = SPControlMode.Display;
base.CreateChildControls();
}
protected override void RenderFieldForDisplay(HtmlTextWriter output)
{
var html = String.IsNullOrEmpty(Item[Field.InternalName] as string) ? "" : Item[Field.InternalName] as string;
RenderHtmlForDisplay(output, html);
}
protected override string DefaultTemplateName
{
get
{
return "MyField";
}
}
}
}
如您所见,文本框不显示。看起来控件设置为仅为
SPControlMode.Display渲染。您的屏幕截图以编辑
或新建
模式显示
看起来您需要重写该方法
对于SharePoint相关的问题,您有哦,谢谢,我复制粘贴了这部分代码,不知道它是什么意思。非常感谢。
namespace MyCustomField.CustomField
{
internal class MyCustomFieldControl : RichTextField
{
protected override void CreateChildControls()
{
ControlMode = SPControlMode.Display;
base.CreateChildControls();
}
protected override void RenderFieldForDisplay(HtmlTextWriter output)
{
var html = String.IsNullOrEmpty(Item[Field.InternalName] as string) ? "" : Item[Field.InternalName] as string;
RenderHtmlForDisplay(output, html);
}
protected override string DefaultTemplateName
{
get
{
return "MyField";
}
}
}
}
protected override void RenderFieldForInput(HtmlTextWriter output)
{
var html = String.IsNullOrEmpty(Item[Field.InternalName] as string) ? "" : Item[Field.InternalName] as string;
RenderHtmlForDisplay(output, html);
}