Как получить элементы списка sharepoint на новой странице aspx, основываясь на некоторых условиях - PullRequest
1 голос
/ 22 октября 2019

У меня есть один список и две страницы .aspx ... и первая страница содержит элементы одного конкретного поля, а вторая страница должна отображать элементы списка на основе элемента поля первой страницы .... и теперь мой вопроскак перенаправить вторую страницу на основе элемента поля первой страницы

Я хочу получить элементы на основе условия первой страницы, используя javascript

Я новичок в sharepoint, помогите мне

1 Ответ

0 голосов
/ 23 октября 2019

Мы можем получить данные поля с первой страницы с помощью 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"/>
...