WSS3 - 在创建后在SPFieldType.Boolean上设置默认值

时间:2010-10-07 20:18:41

标签: c# sharepoint spfield

我正在使用WSS3和C#创建网站,我正在创建一个类,用于在创建列表后更改字段。我已经创建了一个没有默认值的SPField.Boolean类型,但升级后我需要将默认值设置为true。我当前的代码不起作用:

           //web is already defined as the current web
           var list = web.Site.RootWeb.Lists["ListWithFieldOnIt"];
           var field = list.Fields.GetField("booleanfield");
           field.DefaultValue = "1";
           field.Update(true);
           list.Update(true);

我尝试通过sharepoint实例和sharepoint manager 2007更改默认值,但这些都没有奏效。有没有人知道设置默认值的方法或我做错了什么?

提前致谢

2 个答案:

答案 0 :(得分:2)

根据Programmatically setting the default value of a SPFieldBoolean field看起来你正确地做了。我看不出任何错误。我唯一的建议是尝试不带布尔参数的Update调用。从MSDN,SPField.Update Method (Boolean)似乎是针对网站列而不是列表中的列。每当我在代码中更新字段或列表时,我几乎总是使用无参数的Update方法。

答案 1 :(得分:1)

下面的代码应该足以更新列表字段定义:

       var list = web.Site.RootWeb.Lists["ListWithFieldOnIt"];
       var field = list.Fields.GetField("booleanfield");
       field.DefaultValue = "1";
       field.Update();

您无需更新列表或将“true”传递给SPField.Update方法。