zoukankan      html  css  js  c++  java
  • SharePointWebControls帮助类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.SharePoint.WebControls;
    using System.Web.UI.WebControls;
    using System.Web.UI;
    using Microsoft.SharePoint;

    namespace X.WebParts.UploadDocument
    {
        class SharePointWebControls
        {
            /// <summary>
            /// 返回控件
            /// </summary>
            public static Control GetSharePointControls(SPField field, SPList list, SPListItem item, SPControlMode mode)
            {
                // 检查是否隐藏
                if (field == null || field.FieldRenderingControl == null || field.Hidden) return null;

                try
                {
                    BaseFieldControl webControl = field.FieldRenderingControl;
                    webControl.ListId = list.ID;
                    webControl.ItemId = item.ID;
                    webControl.FieldName = field.Title;
                    webControl.ID = GetControlID(field);
                    webControl.ControlMode = mode;

                    return webControl;
                }
                catch (Exception ex)
                {
                    var errorLabel = new Label
                    {
                        ID = "ErrorLabel",
                        Text = string.Format("控件错误:<br/>{0}", ex)
                    };
                    return errorLabel;
                }
            }

            /// <summary>
            /// 返回控件对应的值
            /// </summary>
            public static object GetSharePointControlValue(ControlCollection Controls, SPField field)
            {
                if (Controls == null)
                {
                    return null;
                }

                // 控件ID
                string controlID = GetControlID(field);

                foreach (Control control in Controls)
                {
                    Control returnObject = control.FindControl(controlID);
                    // 取值
                    if (returnObject != null && returnObject is BaseFieldControl)
                    {
                        return ((BaseFieldControl)returnObject).Value;
                    }
                }

                return null;
            }


            /// <summary>
            /// 返回控件对应的值
            /// </summary>
            public static object GetSharePointControlValue(Control Control, string controlID)
            {
                if (Control == null)
                {
                    return null;
                }
                Control returnObject = Control.FindControl(controlID);
                if (returnObject != null && returnObject is BaseFieldControl)
                {
                    return ((BaseFieldControl)returnObject).Value;
                }

                return null;
            }


            public static Control FindControlRecursive(Control control, string controlID)
            {
                Control returnObject = control.FindControl(controlID);
                return returnObject;
            }

            private static string GetControlID(SPField field)
            {
                // unique id
                return System.Guid.NewGuid().ToString() + field.InternalName;
            }
        }
    }

    关于作者: 王昕(QQ:475660) 在广州工作生活30余年。十多年开发经验,在Java、即时通讯、NoSQL、BPM、大数据等领域较有经验。
    目前维护的开源产品:https://gitee.com/475660
  • 相关阅读:
    存储过程练习 超市管理系统
    SQL 视图
    SQL 存储过程
    SQL 变量、 运算符、 if 、while
    连接查询
    关于表的主外键关系练习 师生 分数表
    java 代码
    转--select/poll/epoll到底是什么一回事
    python学习路线--从入门到入土
    转---变量LEGB规则
  • 原文地址:https://www.cnblogs.com/starcrm/p/1562662.html
Copyright © 2011-2022 走看看