在以下示例中,一个文本字段的 InfoPath 窗体用于将数据提交到名为部门在网站集的根网站中存在自定义 SharePoint 列表和填充从 InfoPath 中的文本框中的数据与此列表中的部门、单位、姓名列。
注意: 用户必须具有正确的权限分配给他们,以便能够将项目添加到 SharePoint 列表。
- 在 InfoPath 中创建一个新的空白的浏览器兼容的表单模板。
- 将 部门、单位、姓名控件和一个按钮控件添加到 InfoPath 表单模板。
- 双击该按钮以打开其属性对话框。
- 在按钮属性对话框中,添加项,更改Add,然后单击编辑表单代码.
- 在Microsoft Visual Studio 工具为应用程序中的项目资源管理器窗口,右键单击项目名称,节点并从上下文菜单中选择添加引用。
- 添加引用对话框中,从.NET选项卡,在组件列表中选择Windows ® SharePoint ® 服务并单击确定.
- 在FormCode.cs文件中,使用为添加或导入语句Microsoft.SharePoint.
-
向添加项按钮的事件处理程序中添加下面的C#代码:
-
// 在此处编写代码。
//using (SPSite site = SPContext.Current.Site)
using (SPSite site = new SPSite("http://bany-pc"))
{
if (site != null)
{
using (SPWeb web = site.OpenWeb())
{
// Turn on AllowUnsafeUpdates on the site
web.AllowUnsafeUpdates = true; -
// Update the SharePoint list based on the values
// from the InfoPath form
SPList list = web.GetList("/Lists/List3/AllItems.aspx");if (list != null)
{
SPListItem item = list.Items.Add();
item["部门"] =
MainDataSource.CreateNavigator().SelectSingleNode(
"/my:myFields/my:Group/my:Details/my:部门", NamespaceManager).Value;
item["单位"] =
MainDataSource.CreateNavigator().SelectSingleNode(
"/my:myFields/my:Group/my:Details/my:单位", NamespaceManager).Value;
item["姓名"] =
MainDataSource.CreateNavigator().SelectSingleNode(
"/my:myFields/my:Group/my:Details/my:姓名", NamespaceManager).Value;
item.Update();
}// Turn off AllowUnsafeUpdates on the site
web.AllowUnsafeUpdates = false;// Close the connection to the site
web.Close();
}// Close the connection to the site collection
site.Close();
}
}