从动态创建的复选框中获取值C#JQuery Asp.net

时间:2014-11-18 04:55:48

标签: c# jquery asp.net checkbox

我有这些复选框,它们是使用C#动态创建的。这些是HTMLInputCheckboxes。它们被保存在名为" panel_seat"的面板下。 enter image description here

我想从这些复选框中获取值,以便将它们发布到数据库中。这该怎么做?将它们创建为复选框列表或组?

如果是这样,请给我一些代码参考。

1 个答案:

答案 0 :(得分:1)

Jquery代码:

 $(document).ready(function () {
        $("#btn_check").click(function () {
            var str = "";
            x = $("#frm").serializeArray();
             str = JSON.stringify(x);

            $('#<%=hdnSelectedTicket.ClientID %>').val(str);


        });
    });

Asp.net:

 <asp:HiddenField ID="hdnSelectedTicket"  runat="server" />

C#代码:为Json使用特殊的dll

 using System.Web.Script.Serialization;
 using Newtonsoft.Json;
 namespace TestApp.components.seatfromdb
{
public class Test
{
    public string name { get; set; }
    public string value { get; set; }

}

public partial class seatfromdb : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {     

 }

    protected void btn_submit_Click(object sender, EventArgs e)
    {

        List<Test> myDeserializedObjList = (List<Test>)Newtonsoft.Json.JsonConvert.DeserializeObject(hdnSelectedTicket.Value, typeof(List<Test>));
        int count = myDeserializedObjList.Count;
        string[] chkarr = new string[count-4];
        int j=0;
        for (int i = 0; i < count; i++)
        {
            if (myDeserializedObjList[i].name.Substring(0, 6) == "check_")
            {
                chkarr[j] = myDeserializedObjList[i].name.Substring(6,1);
                j++;
            }
        }

    }


}

}

不需要复选框组或列表。我使用隐藏字段,其中包含(字符串复选框值)Json。可以将charr []数组作为字节或其他任何内容放入数据库中。