• Sharepoint 中 Webpart 控件 ID转换 规则


    在做sharepoint的webpart时,有时需要用javascript去控制一些webpart部件,但是webpart部件在被生成在页面上时,id值会被转换,根据机器的不同,体现不同的ID,唯有掌握id转换的规律,才能真正有效的实现让javascript去控制webpart上的控件~

    我们先来看一段代码,看看一个DropdownList在被生成在网页上后的变成了什么:

    <span dir="none"><select name="ctl00$m$g_97c2f67c_040f_4ebb_a021_6180784a64cb$ctl00$Taxonomy$ctl00$DropDownChoice" id="ctl00_m_g_97c2f67c_040f_4ebb_a021_6180784a64cb_ctl00_Taxonomy_ctl00_DropDownChoice" title="所属分类" class="ms-RadioText">
          <option selected="selected" value="-- 请选择 --">-- 请选择 --</option>
          <option value="规章制度">规章制度</option>
          <option value="政策解读">政策解读</option>
          <option value="公司策略">公司策略</option>
    </select><br></span>

    下拉框的id从原来的"Taxonomy"变成了"ctl00_m_g_97c2f67c_040f_4ebb_a021_6180784a64cb_ctl00_Taxonomy_ctl00_DropDownChoice",很乱。

    sharepoint的webpart中,控件id的命名(生成后的)规则是:

    机器id + "_ctl00_" + 控件原来id + "_ctl00_ctl00_" + 控件类型

    控件原来的id和控件类型,都是相对死的,都是人为设定后可以得到的,关键是机器id怎么获得。

    下面这段代码将获得机器id:

               string id = string.Empty;

                try
                {
                    foreach (WebPart wp in this.Zone.WebParts)
                    {
                        if (wp is Microsoft.SharePoint.WebPartPages.ListFormWebPart) //首先找到列表webpart
                        {
                            Microsoft.SharePoint.WebPartPages.ListFormWebPart listWp =
                                    (Microsoft.SharePoint.WebPartPages.ListFormWebPart)wp;
                            id = listWp.ClientID;
                        }
                    }
                }
                catch    {     }

    所以,一个原来id为"AuthorName"的单行文本框的生成后id,应该是:

                string id = string.Empty;

                string result= id + "_ctl00_AuthorName_ctl00_ctl00_TextField";

                try
                {
                    foreach (WebPart wp in this.Zone.WebParts)
                    {
                        if (wp is Microsoft.SharePoint.WebPartPages.ListFormWebPart)

                        {
                            Microsoft.SharePoint.WebPartPages.ListFormWebPart listWp =
                                    (Microsoft.SharePoint.WebPartPages.ListFormWebPart)wp;
                            id = listWp.ClientID;
                        }
                    }
                }
                catch    {     }

  • 相关阅读:
    JS函数
    JS数据类型
    JavaScript HTML DOM
    JavaScript-HTML
    HTML基础知识
    数据库--事务:级联删除(学生教师信息表)为例
    javascript window.open
    设置DIV半透明CSS代码:
    css实现你的网页图片半透明效果
    html中,如何打开index.html后可以自动打开另一个页面?
  • 原文地址:https://www.cnblogs.com/rynnwang/p/2517185.html
Copyright © 2020-2023  润新知