在BaseFieldControl或RichTextField中设置值

时间:2011-02-08 11:06:22

标签: c# visual-studio sharepoint sharepoint-2010

我想在我自己的字段类型中设置编程设置值。所以我重写方法FieldRenderingControl(这是在单击sharepoint列表中的元素时调用的。)

我的代码:

 public override Microsoft.SharePoint.WebControls.BaseFieldControl FieldRenderingControl
        {
            get
            {
                BaseFieldControl fakeFieldControl = base.FieldRenderingControl;

                RichTextField rtf = new RichTextField();
                rtf.ID = "MultilineRichText";
                rtf.ListId = fakeFieldControl.ListId;// list.ID;
                rtf.ItemId = fakeFieldControl.ItemId;// item.ID;
                rtf.FieldName = "MultilineRichText";
                rtf.ControlMode = SPControlMode.Display;
                rtf.Text = "test rich text";
                rtf.Value = "test rich text value";

                rtf.ItemFieldValue = "item field value";
                rtf.ListItemFieldValue = "list item field value";



                return rtf;

结果:控制模式始终处于显示模式,工作正常。但列值始终为空。

有任何帮助吗?我什么都不知道!

1 个答案:

答案 0 :(得分:0)

如果我没记错的话,你必须在设置ControlMode = SPControlMode.Display之前设置值。

编辑:我刚看到这是一篇旧帖子......希望你能找到答案:)