深入浅出SharePoint——获取Choice Field的Mapping value

 

list field对应的caml定义如下

      <Field Type="Choice" DisplayName="Inspection Result" Required="FALSE" Format="RadioButtons" FillInChoice="FALSE" Group="C0370A" ID="{5D00E04C-9BA6-4f78-BC51-2D2EC2C2EC73}" SourceID="{1e228f79-b273-49cd-b9cc-507b1ecc7c5c}" StaticName="VPPI_InspectionResult" Name="VPPI_InspectionResult"  >
        <CHOICES>
          <CHOICE>Satisfactory</CHOICE>
          <CHOICE>Unsatisfactory – but no assistance is needed</CHOICE>
          <CHOICE>Unsatisfactory – I need assistance</CHOICE>
        </CHOICES>
        <MAPPINGS>
          <MAPPING Value="1">Satisfactory</MAPPING>
          <MAPPING Value="2">Unsatisfactory – but no assistance is needed</MAPPING>
          <MAPPING Value="3">Unsatisfactory – I need assistance</MAPPING>
        </MAPPINGS>
      </Field>

Console应用程序:

读取第一个item中choice单选类型的field的value值

class Program
    {
        static void Main(string[] args)
        {
            using (SPSite site = new SPSite("http://cris-moss/sites/EHS"))
            {
                using (SPWeb web = site.OpenWeb())
                {
                    SPList list = web.Lists["Safety Inspection Verification"];
                    if (list != null)
                    {
                        SPListItem item = list.Items[0];
                        SPFieldChoice chVisiblity = (SPFieldChoice)item.Fields.GetField("VPPI_InspectionResult");
                        object value = item["VPPI_InspectionResult"];
                        string selectedText = chVisiblity.GetFieldValueAsText(item["VPPI_InspectionResult"]);
                        Console.WriteLine("The value of the field is {0}, which means '{1}'.",
                                 value.ToString(), GetMappingValueforSPFieldChoice(selectedText,chVisiblity.Mappings));
                    }
                    Console.ReadLine();
                }
            }
        }

        static string GetMappingValueforSPFieldChoice(string selectedText,string mappings)
        {
            string selectedValue = string.Empty;
            XmlDocument doc=new XmlDocument(); 
            doc.LoadXml(mappings);
            XmlNode node = doc.SelectSingleNode("MAPPINGS/MAPPING[text()='" + selectedText + "']");
            selectedValue = node.Attributes["Value"].Value;
            return selectedValue;
        }
    }

 

转载于:https://www.cnblogs.com/mingle/p/3210669.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值