我正在使用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更改默认值,但这些都没有奏效。有没有人知道设置默认值的方法或我做错了什么?
提前致谢
答案 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方法。