Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从C#JQuery Asp.net动态创建的复选框中获取值_C#_Jquery_Asp.net_Checkbox - Fatal编程技术网

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

从C#JQuery Asp.net动态创建的复选框中获取值,c#,jquery,asp.net,checkbox,C#,Jquery,Asp.net,Checkbox,我有这些复选框,它们是使用C#动态创建的。这些是HTMLInput复选框。它们被保存在一个名为“panel_seat”的面板下。 我想从这些复选框中获取值,以便将它们发布到数据库中。如何做到这一点?是否将它们创建为复选框列表或组 如果是,请给我一些代码参考。Jquery代码: $(document).ready(function () { $("#btn_check").click(function () { var str = "";

我有这些复选框,它们是使用C#动态创建的。这些是HTMLInput复选框。它们被保存在一个名为“panel_seat”的面板下。

我想从这些复选框中获取值,以便将它们发布到数据库中。如何做到这一点?是否将它们创建为复选框列表或组

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

Jquery代码:

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

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


        });
    });
$(文档).ready(函数(){
$(“#btn_检查”)。单击(函数(){
var str=“”;
x=$(“#frm”).serializeArray();
str=JSON.stringify(x);
$('#').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++;
            }
        }

    }


}
使用System.Web.Script.Serialization;
使用Newtonsoft.Json;
命名空间TestApp.components.seatfromdb
{
公开课考试
{
公共字符串名称{get;set;}
公共字符串值{get;set;}
}
公共部分类seatfromdb:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{     
}
受保护的无效btn\u提交\u单击(对象发送者,事件参数e)
{
List myDeserializedObjList=(List)Newtonsoft.Json.JsonConvert.DeserializeObject(hdnSelectedTicket.Value,typeof(List));
int count=myDeserializedObjList.count;
字符串[]chkarr=新字符串[count-4];
int j=0;
for(int i=0;i
}


不需要复选框组或列表。我使用了隐藏字段,其中包含(字符串化的复选框值)Json。charr[]数组可以根据需要以字节或任何其他形式放入数据库。

检查0、检查1…等等,这些都是IDS,您必须为它们提供相同的名称
name=“Check[]”
。。其余的将由服务器或
.serialize()
处理。一种方法是利用Ajax。然后联系服务器端事件/服务。这将允许您使用JavaScript或jQuery将客户端对象推送到服务器端。然后,您就可以简单地使用Json前后序列化/反序列化数据。