如何根据某些条件在新的aspx页面中获取共享点列表项

时间:2019-10-22 04:39:03

标签: javascript sharepoint-2013

我有一个列表和两个.aspx页。.第一页包含一个特定的字段项,第二页是根据第一页字段项显示列表项。...现在我的问题是如何根据首页字段项

重定向第二页

我想使用javascript根据首页条件检索项目

新来的sharepoint帮助我

1 个答案:

答案 0 :(得分:1)

我们可以使用jQuery从第一页获取字段数据,并通过QueryString发送到第二页,然后在第二页中,我们可以使用REST API获取查询字符串值并获取列表项。以下简单示例供您参考。

1。创建自定义列表“ MyCustomList”,添加一行文本字段“ TestField”。

2。创建网站页面first.aspx和second.aspx。

3。在first.aspx页面中,添加文本框和按钮,并添加一些jQuery代码以获取字段值,并在单击按钮时重定向到second.aspx页面。

<script src="https://code.jquery.com/jquery-1.12.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
    $("#getBtn").click(function(){
        var testField=$("#TestField").val();
        if(testField!=null){
            window.location.href="second.aspx?TestField="+testField;
        }
    });
});
</script>
<input id="TestField" type="text"/><input id="getBtn" type="button" value="GetItems"/>

4。在second.aspx页中。像下面的代码。

<script src="https://code.jquery.com/jquery-1.12.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
    var listName="CL0820";
    var testField=getQueryStringParameter("TestField");
    var filter="$filter=TestField eq '"+testField+"'";
    RetrieveListItems(listName,filter);
})
function RetrieveListItems(listName,filter){
    $("#ListData").html("");    
    $.ajax({
        url: "http://sp2013/sites/team/_api/web/lists/getbytitle('" + listName + "')/items?"+filter,
        type: "GET",               
        headers: {
            "Accept": "application/json;odata=verbose",
        },
        success: function (data) {
            var html="";
            html+="<table border='1' cellpadding='1' cellspacing='1'><tr><th>ID</th><th>Title</th></tr>";  
            for (var i = 0; i < data.d.results.length; i++) {  
              var item = data.d.results[i];  
              var id = item.ID;  
              var title = item.Title;
              html+="<tr><td>"+id+"</td><td>"+title+"</td></tr>";  
            }
            html+"</table>";
            $("#ListData").html(html);
        },
        error: function (data) {
            alert("Error");
        }
    });
}
function getQueryStringParameter(paramToRetrieve) {
    var params = window.location.href.split("?")[1].split("&");
    var strParams = "";
    for (var i = 0; i < params.length; i = i + 1) {
        var singleParam = params[i].split("=");
        if (singleParam[0] == paramToRetrieve)
            return singleParam[1];
    }
}
</script>
<div id="ListData"/>