zoukankan      html  css  js  c++  java
  • 读取 SPFieldChoice 选项类型的三种方法 ,第三种方法目前有问题没有解决,请高手来解决一下

    目前有个技术要求,要通过三种方法读取Choice的值,因为不同的要求及页面会用到不同的读取情况,目前第三种通过JS读取有的问题,请会的兄弟给点提示,下面将列表三种方法

    第一种:在服务端读取

               using (SPSite site = new SPSite("http://moss:888"))
                {
                    using (SPWeb web = site.RootWeb)
                    {
                        SPList list=web.Lists["Custom"];
                        SPField field = list.Fields.GetField("选项类型");
                        SPFieldChoice choice = list.Fields.GetField(field.InternalName) as SPFieldChoice;
                        foreach (string c in choice.Choices)
                        {
                            Console.WriteLine(c);
                        }
                    }
                }

    第二种:通过.net托管代码读取

            static ClientContext _clientContext;
            static Web _web;
            static List _list;
            static ListItem _listItem;
            static ListItemCollection _listItemCollection;
            static CamlQuery _query;
            static FieldLookupValue _lookupValule;
            static Field _field;
            static FieldChoice _fieldChose;

           static void putChoice()
            {
                _clientContext = new ClientContext("http://moss:888");
                _list = _clientContext.Web.Lists.GetByTitle("Custom");
                _fieldChose = _clientContext.CastTo < FieldChoice > (_list.Fields.GetByInternalNameOrTitle("选项类型"));
                _clientContext.Load(_fieldChose);
                _clientContext.ExecuteQuery();
                foreach (string choice in _fieldChose.Choices)
                {
                    Console.WriteLine(choice);
                }
            }

    第三种:通过ECMAJS客户端对象模型读取,程序目前可以执行成功,就是得不到Choice里面的值,请会的兄弟帮个忙

    <script language="javascript" type="text/javascript">    

    var context = null;    

    var web = null;    

    var query = null;

    var list = null;

    var listItem = null;    

    var field=null;

        function GetChoiceValue() {        

              context = new SP.ClientContext.get_current();        

              web = context.get_web();        

              list = web.get_lists().getByTitle("Custom");        

             field = context.castTo(list.get_fields().getByInternalNameOrTitle("选项类型"), SP.FieldChoice) ;       

             context.load(field);        

             context.executeQueryAsync(Function.createDelegate(this, this.ReadChoiceSuccess), Function.createDelegate(this, this.ReadChoiceFailure));    

    }

        function ReadChoiceSuccess(sender, args) {        

                    alert(field.get_internalName);        //程序可以执行到这里面

                    var fieldChoice = context.CastTo < SP.FieldChoice > (list.get_fields[field.get_internalName]);        

                    alert(fieldChoice.DefaultValue);         //在这里面弹出未定义

                    alert(fieldChoice.Choices);       //在这里面弹出未定义

                     alert(fieldChoice);    //在这里面弹出未定义

         }

        function ReadChoiceFailure(sender, args) {        

           alert("f")    

        }

    </script>

    <input id="btnChoice" type="button" value="button" onclick="GetChoiceValue()" />

  • 相关阅读:
    perlcgiform2
    Linux的Find使用
    perl去除字符串前后的空格
    SQL快速查找
    026*:冷热启动优化、二进制重排、clang插桩(Header、Load Commands 、segment)(main函数前、main函数后)重签名 、ASLR、(PageFault 、System Trace、order文件)fsanitizecoverage=func,tracepcguard Dl_info
    阿里面试题:缓存的一些常见的坑,你遇到过哪些,怎么解决的?
    公司有着 30 多年经验的程序员被辞退了
    PHP7.3报错undefined function simplexml_load_string()(已解决)
    swoole框架中退出命令行程序仍然运行 php a.php &
    mysql服务器cpu爆满解决办法
  • 原文地址:https://www.cnblogs.com/Fengger/p/2539933.html
Copyright © 2011-2022 走看看