在c#Visual Studio 2010中检索Sharepoint Choice字段的值

时间:2011-08-10 10:36:20

标签: c# visual-studio-2010 sharepoint-2010

在EventReceiver上,使用c#我想在List上的Sharepoint 2010 Choice字段中检索所有选定的值。任何人都可以建议/提供有关如何从Choice字段中读取所有值的代码片段吗?

由于

3 个答案:

答案 0 :(得分:6)

请参阅此博文。这是这样做的正确方法。 http://www.c-sharpcorner.com/Blogs/10257/

SPFieldMultiChoiceValue choices = new SPFieldMultiChoiceValue(item["MultiChoice"].ToString());
for (int i = 0; i < choices.Count; i++)
{
    Console.WriteLine(choices[i]);
}

答案 1 :(得分:3)

如果您有一个选择列,可以选择多个项目,您可以使用它来分隔它们:

string values = item["yourColumn"] as string;
string[] choices = null;
if (values != null)
{
    choices = values.Split(new string[] { ";#" }, StringSplitOptions.RemoveEmptyEntries);
}

答案 2 :(得分:1)

我不确定你想做什么。如果你想从列表中获取字段(选项)中的所有值,我建议你将列表输入到一个对象(SPList)中,遍历这些项(yourSPListObject.items)

// get the current web you are in
SPWeb objWeb = SPContext.Current.Site.OpenWeb();
//get your list
SPList lstYourInfoList = objWeb.Lists["<ListNameHere"];

//Iterate through the items in the list
foreach(SPListItem item in lstYourInfoList.items){
//pick out your information needed
string choiceSelected = item["<ColumnNamethatrepresentsyourchoicefield>"].ToString();
//store your information somewhere
//store the string in a local list and pass this list back out
}

如果您希望获得用户可以从中选择的所有选项

,这可能会有所帮助

http://www.mindfiresolutions.com/SharePoint-Choice-Field--Fetch-Each-Choice-Item-80.php

希望这能回答你的问题