Передача массива строк в jqGrid - PullRequest
0 голосов
/ 02 ноября 2011

Я пытаюсь отправить массив строк в веб-службу, используя jqGrid.Вот мой пример веб-сервиса.Обратите внимание, что он принимает переменное количество аргументов и возвращает XML.Я получаю 500 Внутренняя ошибка сервера, и я использую jqGrid 4.2 и .NET3.5.

[WebMethod]
public XmlDocument ListTest(List<string> arr)
{
    string strSQL;
    strSQL = "SELECT testColumn, rowid FROM testTable WHERE isTest=true ";

    if (arr[0] != "")
        strSQL += " AND testOption0 >= \"" + arr[0] + "\"";
    if (arr[1] != "")
        strSQL += " AND testOption1 <= \"" + arr[1] + "\"";
    if (arr[2] != "")
        strSQL += " AND testOption2 = \"" + arr[2] + "\"";
    if (arr[3] != "")
        strSQL += " AND testOption3 = \"" + arr[3] + "\"";
    if (arr[4] != "")
        strSQL += " AND testOption4 = \"" + arr[4] + "\"";

    //execute query 
    DataSet myDataSet = new DataSet();
    OdbcConnection Conn = new OdbcConnection(strConnString);
    OdbcDataAdapter da = new OdbcDataAdapter(strSQL, Conn);
    da.Fill(myDataSet, "QuickSearchItem");

    //convert data to xml and return 
    XmlDocument xmldoc = new XmlDocument();
    string rawxml = "";
    rawxml = rawxml + myDataSet.GetXml();
    xmldoc.LoadXml(rawxml);
    return xmldoc;
}

, и вот мой вызов jqGrid:

function bindGridDataQS(findAll, isMotionCheck){
            var myCars = new Array();
            myCars[0] = "";
            myCars[1] = "test1";
            myCars[2] = "";
            myCars[3] = "";
            myCars[4] = "test4";

            $("#myGrid").jqGrid({
                url:'WebService.asmx/ListTest',
                postData: JSON.stringify({arr: myCars}),                        
                datatype: 'xml',
                colNames:["make","model", "year"],
                colModel:[
                    {name:"make",index:"make", width:260, align:"center", xmlmap:"make"},
                    {name:"model",index:"model", width:210, align:"center", xmlmap:"model"},
                    {name:"year",index:"year", width:180, align:"center",xmlmap:"year", sorttype:"float"}
                ],

                viewrecords: true,
                loadonce: false,
                xmlReader: {
                        root : "NewDataSet",
                        row: "QuickSearchItem",
                        repeatitems: false,
                        id: "rowid"
                },
                //pager:'#QSGridNav',
                onSelectRow: function(id){ playVideo(id);}, 
                caption: "Event Video List"
            });
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...