zoukankan      html  css  js  c++  java
  • SharePoint 2010 列表查阅项栏的formfield控件对象取值

    开发的时候想当然的认为主表解析出来就是一个dropdownlist,可是在大数据测试的时候,发现有情况。

      首先创建一个子列表:DetailList,并添加19条数据:

      创建主列表:MainList,并新建“查阅项”栏关联这个子表的标题。

      

      MainList新建页面显示查阅项控件的样式:

      当DetailList再增加一条数据

      这个时候,MainList的新建显示将会不同。

      显然当“查阅项”超过20条数据的情况,这个formfield会改变控件的样式。

       如果我们需要后台生成这个控件的对象,或者编码将formfield通过对象解析出来,并获取值的时候,就要注意两种不同的情况了

       首先判断这个formfield的类型

    SPList spList = SPContext.Current.Web.Lists["MainList"];
    string fieldType = spList.Fields["DetailList标题"].TypeAsString;

     则这个fieldType为Lookup

     根据这个类型通过生成对象取值

    string fieldValue = string.Empty;//获取选中的值
    if (fieldType == "Lookup")
    {
        LookupField lfField = ((LookupField)this.FindControl(controlId));
        string name = lfField.Field.InternalName;
        if (lfField.Controls[0] is DropDownList)
         {
             DropDownList ddl = (DropDownList)lfField.Controls[0];
             if (ddl.SelectedItem != null)
                {
                    fieldValue = ddl.SelectedItem.Text;
                 }
         }
         if (lfField.Controls[0] is Literal)
         {
             TextBox tb = (TextBox)ddcField.Controls[1];//注意是第2个控件
           if (tb.Text != null)
             {
                 fieldValue = tb.Text;
             }
         }
    }
  • 相关阅读:
    Asp.net WebAPI Ioc
    Asp.net WebAPi gzip压缩和json格式化
    Asp.net WebApi版本控制
    Asp.net WebAPi Restful 的实现和跨域
    Asp.net WebAPI Request参数验证-请不要重复造轮子
    asp.net mvc源码分析-ModelValidatorProviders 客户端的验证
    MultipleRegularExpressionAttribute MVC中扩展自定义验证规则
    Asp.net5 Session Set扩展
    knockout 多值绑定
    ajax file upload 修改
  • 原文地址:https://www.cnblogs.com/tdskee/p/3312221.html
Copyright © 2011-2022 走看看