在我的主页上,我想要一个简单的webpart,允许用户快速填写列表中的条目。
列表中有三个字段:标题(文本),正文(富文本),类别(查找)。
我不想使用标准的DataFormWebPart,因为我有一些代码隐藏,也填充了我的列表中的一些技术隐藏字段(实际上,我不排除DataFormWebPart,但我没有& #39;找到如何在代码背后使用它。)
所以我开始实现自定义webpart。因为我不想手动处理每个字段输入,所以我开始使用FormField
控件,它自动选择渲染控件,并提供具有正确格式的Value
属性:
<SharePoint:FormField runat="server" id="fldTitle" FieldName="Title" />
这段代码还不够,我必须指定listid:
<SharePoint:FormField runat="server" id="fldTitle" FieldName="Title" ListId="{title list guid}" />
这非常正确。我可以在代码中访问fldTitle.Value
来检索用户输入。
但是我必须将webpart包含在可以激活的正确打包和部署的功能中。 webpart将始终以相同的列表为目标,但由于列表也在功能(ListInstance元素)中实例化,我无法事先知道Guid。
我已尝试使用多种技术动态设置列表ID,但没有成功。
我也反映过&#34; SP dll注意到FormComponent类正在使用&#34; Context&#34;由ListFormWebPart设置。
最后,我的问题是:
事先感谢你们的帮助......我现在几天挣扎着这个简单的案子...
答案 0 :(得分:0)
我认为自定义表单模板是自定义列表表单的最简单方法。由于自定义表单模板是作为用户控件实现的,因此可以添加所需的任何代码。 请参阅以下文章: http://www.codeproject.com/KB/sharepoint/SharePointListForms.aspx