将Web部件属性[cdata value]中的JSON String传递给Jquery插件

时间:2014-03-27 17:36:05

标签: jquery xml json sharepoint-2010

目前,我们正在使用PageProvisiong(XML)来构建页面。我正在通过属性值CDATA传递一个JSON字符串,如下所示。

<property name="UseAccordion" value="false" />
            <property name="Type" value="documents" />
            <property name="Source" value="ABOUT1" />
            <property name="KeyWords" >
              <value>
                <![CDATA[

                      {"keywords": {"Keywords":"about" ,"CategoryIds":"PM"}}

                      ]]>
              </value>
            </property>

我想在JQUERY插件中读取JSON字符串,截至目前我可以读取source属性,因为它是这样的简单字符串,

plugin.paramData = '{"source" : "' + plugin.options.Source + '", "type" : "'+    
plugin.options.type + '","}';

我想将关键字附加到相同的paramData(这将作为查询字符串传递给webservice)。此外,我想将每个关键字和categoryID读入类属性。有人可以建议我该怎么做?

由于

1 个答案:

答案 0 :(得分:0)

为什么不使用webpart的代码隐藏来将jevascript呈现给页面?请记住,代码bahind上提供了webpart属性,例如:

ScriptManager.RegisterStartupScript(this, this.GetType()), "init-js", getScript(), true);

string getScript(){
    return "var myjsvar = " + this.Keywords + ";";
}

您现在已经在页面上创建了一个名为myjsvar的变量,并分配了可以使用的关键字值