2013-05-15 138 views
1

我想从客户端发送两个列表和日期值到服务器。我创建我的网址,当我警觉它是正确的。当我将数据发送到服务器时,我正在尝试提取,但我没有正确地获取我的值。这里是我的JQ代码:无法接收客户端的数据

$("#insert").click(function() { 

    listofsit = ""; 
    $(".sel").each(function() { 

     listofsit += $(this).val() + ","; 

    }); 
    listofsit += "#"; 
    //alert(listofsit); 

    listofmem = ""; 
    $(".clsid").each(function() { 

     listofmem += $(this).html() + ","; 

    }); 
    listofmem += "#"; 
    // alert(listofmem); 

    var date = $("#date").val(); 
    var url = "rollcall.aspx?cmd=ins&sitlist=" + listofsit + "&memlist=" + listofmem +"&date=" + date; 
    // alert(url); 
    $.post(url, function (d) { alert(d) }); 
}); 

,这里是我的C#部分:

if (cmd == "ins") 
{ 
    mydb db = new mydb();      

    string[] sitlst = Request.QueryString[1].ToString().Split(','); 
    string[] memt = Request.QueryString[2].ToString().Split(','); 
    var date = Request["date"];    

    Response.Write("1"); 
    cmd = "fillgrid"; 
    Response.End(); 
} 

回答

2

你把#到您的网址。这意味着#memlistdate参数)之后的任何内容都将被视为URL片段,而不是查询字符串的一部分。

删除#它应该工作。

+0

非常感谢你的工作。但我可以用任何其他字符替换#?以指出列表的结尾。我知道这是没有必要的,但是... –

+0

是的,这是可能的,我用“e”代替它。但#是什么问题。我不知道我明白。 –

+0

为什么这是必要的 - 列表的末尾只是列表中的最后一项? '#'是URL中的一个保留字符,用于指向页面中的锚点。 –

相关问题