zoukankan      html  css  js  c++  java
  • Sharepoint 2010 控件系统 之 TextField、LookupField、NoteField、RichTextField、SaveButton

            以前做项目对Sharepoint列表的操作用三种对象模型进行操作,但是在Designer上看到了以Sharepoint:开始的控件,就决定研究一下,深入研究才发现这样的控件比三种对象模型操作更简单方便,下面就来介绍一下如何使用。

           控件介绍 

    View Code
    <SharePoint:TextField runat="server" ID="txtCode" CssClass="input" OnInit="OnInitCode" />
    <SharePoint:SaveButton runat="server" ID="btnSave" OnInit="OnInitSave" OnBeforeSaveItem="BeforeSaveItem" OnAfterSaveItem="AfterSaveItem" />

           每个控件都有一个OnInit属性,这个是加载控件属性的方法,这个事件在OnLoad之前,具体用法大家查询一下页面的生命周期,这里就不再详细讲解了,在OnInit里面要初始化三个属性ControlMode、ListId、FieldName

    View Code
    protected void OnInitCode(object sender, EventArgs e)
            {
                if (!string.IsNullOrEmpty(_id))
                {
                    txtCode.ControlMode = SPControlMode.Edit;
                }
                else
                {
                    txtCode.ControlMode = SPControlMode.New;
                }
                txtCode.ListId = _listId;
                txtCode.FieldName = _list.Fields["代码"].InternalName;
            }

          为了重复用 _listId、_list,可以在 OnPreInit 事件里进行初始化,代码如下

    View Code
    protected override void OnPreInit(EventArgs e)
            {
                _id = Request.QueryString["id"];
                _web = SPContext.Current.Web;
                _list = _web.Lists["代码维护"];
                _listId = _list.ID;
                if (!string.IsNullOrEmpty(_id))
                {
                    _item = _list.GetItemById(Convert.ToInt32(_id));
                }
                base.OnPreInit(e);
            }

    保存控件的初始化和其它控件一样,只是少了一个FieldName

    View Code
    protected void OnInitSave(object sender, EventArgs e)
            {
                if (!string.IsNullOrEmpty(_id))
                {
                    btnSave.ControlMode = SPControlMode.Edit;
                }
                else
                {
                    btnSave.ControlMode = SPControlMode.New;
                }
                btnSave.ListId = _listId;
            }

    这样就完成了添加与保存功能,相比三种对象模型操作简单多了,没有试过的赶快试试吧,祝大家写代码写的开心,哈哈哈哈哈哈......

    注意:ControlMode、ListId、FieldName是必须属性,否则显示不出来的。

  • 相关阅读:
    网站安全策略
    防止表单重复提交的几种策略
    Laravel5中防止XSS跨站攻击的方法
    PHP + ORACLE 远程连接数据库环境配置
    iview table表格内容为数组或者对象的子元素时问题讨论
    jquery中 $(xxx).each() 和 $.each()的区别,以及enter键一键登录
    vue.js 强行赋值、刷新数组或者对象 方法之 $.set()
    vue 组件,以及组件的复用
    vue 和 jquery混合使用
    JS清除空格之trim()方法
  • 原文地址:https://www.cnblogs.com/Fengger/p/2995236.html
Copyright © 2011-2022 走看看