Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 2010 为什么我的Sharepoint列表内容没有保存到列表中?_Sharepoint 2010_Splistitem_Splist - Fatal编程技术网

Sharepoint 2010 为什么我的Sharepoint列表内容没有保存到列表中?

Sharepoint 2010 为什么我的Sharepoint列表内容没有保存到列表中?,sharepoint-2010,splistitem,splist,Sharepoint 2010,Splistitem,Splist,我正在成功创建一个名为XMLToPDFTestList的Sharepoint列表,我可以通过Site Actions>View All Site Content查看该列表,但我尝试向列表中添加列的尝试到目前为止已被证明是徒劳的 以下是我试图做到这一点的方式: private void ProvisionallyCreateList() { SPWeb mySite = SPContext.Current.Web; // Check to see if list already

我正在成功创建一个名为XMLToPDFTestList的Sharepoint列表,我可以通过Site Actions>View All Site Content查看该列表,但我尝试向列表中添加列的尝试到目前为止已被证明是徒劳的

以下是我试图做到这一点的方式:

private void ProvisionallyCreateList()
{
    SPWeb mySite = SPContext.Current.Web; 
    // Check to see if list already exists; if so, exit
    if (mySite.Lists.TryGetList(listTitle) != null) return;

    SPListCollection lists = mySite.Lists;
    SPListTemplateType listTemplateType = new SPListTemplateType();
    listTemplateType = SPListTemplateType.GenericList;
    string listDescription = "This list is to hold inputted vals";
    lists.Add(listTitle, listDescription, listTemplateType);

    // Now add a couple of columns
    SPList list = lists["XMLToPDFTestList"];
    string faveNum = list.Fields.Add("favoriteNumber", SPFieldType.Text, false);
    list.Fields[faveNum].Description = "favorite number";
    list.Fields[faveNum].Update();
    string faveCol = list.Fields.Add("favoriteColor", SPFieldType.Text, false);
    list.Fields[faveCol].Description = "favorite color";
    list.Fields[faveCol].Update();
}
这是我单击XMLToPDFTestList时看到的全部内容:

我的直觉是这句话:

SPList list = lists["XMLToPDFTestList"];

…不正确/不够具体。它不应该是XMLToPDFTestList,而应该是其他内容/前置内容,等等。但是,到底是什么呢?

就像经常发生的情况一样,我的坏YMMV

问题出在我的列表项创建代码中,因为我没有为默认/继承的标题字段分配任何内容,所以在我看来,正如上面的尖叫镜头所示,没有添加任何项

一旦我修复了代码,通过更改以下内容:

private void SaveInputToList()
{
    using (SPSite site = new SPSite(siteUrl))
    {
        using (SPWeb web = site.RootWeb)
        {
            SPList list = web.Lists[listTitle];
            SPListItem SPListItemFaveNum = list.Items.Add();
            SPListItemFaveNum["favoriteNumber"] = "7"; //inputtedNumber; TODO: Once 7 and teal are being saved and retrieved successfully, assign the var vals - will need to declare the controls created in CreateChildControls() globally
            SPListItemFaveNum.Update();
            SPListItem SPListItemFaveHue = list.Items.Add();
            SPListItemFaveHue["favoriteColor"] = "teal"; 
            SPListItemFaveHue.Update();
        }
    }
}
……为此:

private void SaveInputToList()
{
    using (SPSite site = new SPSite(siteUrl))
    {
        using (SPWeb web = site.RootWeb)
        {
            SPList list = web.Lists[listTitle];
            SPListItem spli = list.Items.Add();
            spli["Title"] = "Write the Title";
            spli["favoriteNumber"] = "7"; 
            //SPListItemFaveNum.Update();
            //SPListItem SPListItemFaveHue = list.Items.Add();
            spli["favoriteColor"] = "teal";
            //SPListItemFaveHue.Update();
            spli.Update();
        }
    }
}
…它可以正常工作:添加一个项目,其中包含所有三个值Title、favoriteNumber和favoriteColor

我假设项目没有被创建,因为标题是空的,我在每个SPListItem上调用update,而我真正需要做的是在一个SPListItem上调用update一次,而不是在多个SPListItem上