Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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
Jquery 用于将多个单个复选框控件文本插入db中的单个列的循环_Jquery_Asp.net_Checkbox - Fatal编程技术网

Jquery 用于将多个单个复选框控件文本插入db中的单个列的循环

Jquery 用于将多个单个复选框控件文本插入db中的单个列的循环,jquery,asp.net,checkbox,Jquery,Asp.net,Checkbox,我需要在mssql数据库的一列中插入多个复选框文本, 我可以使用一个复选框列表,让这件事变得更容易, 要求显示带有多个复选框的单独html行和列, 有点像检查所有适用于设计的条件,但有几个标准,所以我猜可能一个字符串生成器或数组会这样做,所以我尝试下面的代码,但必须有一个更好的方法比手动为每个复选框这样做 请帮助我输入以下代码: asp.net page <td> &nbsp; <span style="color: #F

我需要在mssql数据库的一列中插入多个复选框文本, 我可以使用一个复选框列表,让这件事变得更容易, 要求显示带有多个复选框的单独html行和列, 有点像检查所有适用于设计的条件,但有几个标准,所以我猜可能一个字符串生成器或数组会这样做,所以我尝试下面的代码,但必须有一个更好的方法比手动为每个复选框这样做

请帮助我输入以下代码:

asp.net page
<td>
            &nbsp;
            <span style="color: #FF0000">*</span> Specify Criteria Used (check all that apply)<br />
&nbsp;<span style="text-decoration: underline">Signs &amp; Symptoms<br />
            </span>
            <br />
            <asp:CheckBox ID="eventCriteria1" runat="server" 
                Text="Purulent drainage or material" />
            <br />
            <asp:CheckBox ID="eventCriteria2" runat="server"  Text="Pain or tenderness"/>
            <br />
            <asp:CheckBox ID="eventCriteria3" runat="server" Text="Localized swelling" />
            <br />
            <asp:CheckBox ID="eventCriteria4" runat="server" Text="Redness" />
            <br />
            <asp:CheckBox ID="eventCriteria5" runat="server" Text="Heat" />
            <br />
            <asp:CheckBox ID="eventCriteria6" runat="server" Text="Fever"/>
            <br />
            <asp:CheckBox ID="eventCriteria7" runat="server" 
                Text="Incision deliberately opened by surgeon"/>
            <br />
            <asp:CheckBox ID="eventCriteria8" runat="server" 
                Text="Wound spontaneously dehisces"/>
            <br />
            <asp:CheckBox ID="eventCriteria9" runat="server"  Text="Abscess"/>
            <br />
            <asp:CheckBox ID="eventCriteria10" runat="server" Text="Hypothermia" />
            <br />
            <asp:CheckBox ID="eventCriteria11" runat="server" Text="Apnea" />
            <br />
            <asp:CheckBox ID="eventCriteria12" runat="server" Text="Bradycardia" />
            <br />
            <asp:CheckBox ID="eventCriteria13" runat="server" Text="Lethargy"/>
            <br />
            <asp:CheckBox ID="eventCriteria14" runat="server" Text="Cough"/>
            <br />
            <asp:CheckBox ID="eventCriteria15" runat="server" Text="Nausea"/>
            <br />
            <asp:CheckBox ID="eventCriteria16" runat="server" Text="Vomiting"/>
            <br />
            <asp:CheckBox ID="eventCriteria17" runat="server" Text="Dysuria"/>
            <br />
            <asp:CheckBox ID="eventCriteria18" runat="server" Text="Other evidence of infection found on direct
     exam, during surgery, or by diagnostic tests"/>
            <br />
            <asp:CheckBox ID="eventCriteria19" runat="server"  
                Text="Other signs & symptoms"/>

        </td>
        <td colspan="2" style="height: 23px; text-decoration: underline; width: 307px;" 
            valign="top">
            <br />
            Laboratory<br />
            <br />
            <asp:CheckBox ID="eventCriteria20" runat="server" 
                Text="Positive culture" />
            <br />
            <asp:CheckBox ID="eventCriteria21" runat="server" Text="Not cultured"/>
            <br />
            <asp:CheckBox ID="eventCriteria22" runat="server" 
                Text="Positive blood culture" />
            <br />
            <asp:CheckBox ID="eventCriteria23" runat="server" 
                Text="Blood culture not done or no organisms detected in blood" />
            <br />
            <asp:CheckBox ID="eventCriteria24" runat="server" 
                Text="Positive Gram stain when culture is negative or not done" />
            <br />
            <asp:CheckBox ID="eventCriteria25" runat="server" 
                Text="Other positive laboratory tests"/>
            <br />
            <asp:CheckBox ID="eventCriteria26" runat="server" 
                Text="Radiographic evidence of infection"/>
            <br />

            <br />
            Clinical Diagnosis<br />
            <asp:CheckBox ID="eventCriteria27" runat="server" 
                Text="Physician diagnosis of this event type"/>
            <br />
            <asp:CheckBox ID="eventCriteria28" runat="server" 
                Text="Physician institutes appropriate antimicrobial
    therapy"/>

        </td>



Code:


StringBuilder sb = new StringBuilder(); 
        if (eventCriteria1.Checked)
        {
            sb.Append(eventCriteria1.Text + ",");
            //Here stringValue is System.Text.StringBuilder variable 
        }

        if (eventCriteria2.Checked)
        {
            sb.Append(eventCriteria2.Text + ",");
            //Here stringValue is System.Text.StringBuilder variable 
        }

        if (eventCriteria3.Checked)
        {
            sb.Append(eventCriteria3.Text + ",");
            //Here stringValue is System.Text.StringBuilder variable 
        }

        if (eventCriteria4.Checked)
        {
            sb.Append(eventCriteria4.Text + ",");
            //Here stringValue is System.Text.StringBuilder variable 
        }

        if (eventCriteria5.Checked)
        {
            sb.Append(eventCriteria5.Text + ",");
            //Here stringValue is System.Text.StringBuilder variable 
        }
        if (eventCriteria6.Checked)
        {
            sb.Append(eventCriteria6.Text + ",");
            //Here stringValue is System.Text.StringBuilder variable 
        }
        if (eventCriteria7.Checked)
        {
            sb.Append(eventCriteria7.Text + ",");
            //Here stringValue is System.Text.StringBuilder variable 

        }

        cmd.Parameters.AddWithValue("@eventCriteria", sb.ToString());
.
.
.
.
.
asp.net页面
*指定使用的标准(选中所有适用的标准)
标志及;症状




















实验室









临床诊断

代码: StringBuilder sb=新的StringBuilder(); 如果(eventCriteria1.选中) { sb.追加(eventCriteria1.Text+“,”); //此处stringValue是System.Text.StringBuilder变量 } 如果(事件标准2.选中) { sb.追加(eventCriteria2.Text+“,”); //此处stringValue是System.Text.StringBuilder变量 } 如果(事件标准3.选中) { sb.追加(eventCriteria3.Text+“,”); //此处stringValue是System.Text.StringBuilder变量 } 如果(事件标准4.选中) { sb.追加(eventCriteria4.Text+“,”); //此处stringValue是System.Text.StringBuilder变量 } 如果(事件标准5.选中) { sb.追加(eventCriteria5.Text+“,”); //此处stringValue是System.Text.StringBuilder变量 } 如果(事件标准6.选中) { sb.追加(eventCriteria6.Text+“,”); //此处stringValue是System.Text.StringBuilder变量 } 如果(事件标准7.选中) { sb.追加(eventCriteria7.Text+“,”); //此处stringValue是System.Text.StringBuilder变量 } cmd.Parameters.AddWithValue(“@eventCriteria”,sb.ToString()); . . . . .
您需要将复选框放入某种容器中,如面板或占位符,然后您可以执行以下操作:

ASPX:


您可以使用Request.Form并利用复选框id

foreach(string key in Request.Form) {
    if (!key.StartsWith("eventCriteria")) continue;
    //database insert logic

}

我还需要使用字符串生成器吗?然后在循环中添加参数?如以下部分:cmd.Parameters.AddWithValue(“@eventCriteria”,sb.ToString());是的,此参数可以接受1或所有复选框值,甚至可以为null。已将我的答案更新为附加到参数。错误9“System.Web.UI.WebControl.CheckBox”不包含“Value”的定义,并且找不到接受“System.Web.UI.WebControl.CheckBox”类型的第一个参数的扩展方法“Value”(是否缺少using指令或程序集引用?)
foreach (CheckBox chk in Panel1.Controls.OfType<CheckBox>())
{
    if (chk.Checked)
    {
        //update parameter
        cmd.Parameters["@eventCriteria"].Value += String.Format("{0},", chk.Text);
    }
}

//you'll probably need to trim the trailing comma too
cmd.Parameters["@eventCriteria"].Value = cmd.Parameters["@eventCriteria"].Value.TrimEnd(',');
foreach (Control ctrl in Panel1.Controls)
{
    if (ctrl is CheckBox)
    {
        CheckBox chk = (CheckBox)ctrl;
        if (chk.Checked)
        {
            //update parameter
            cmd.Parameters["@eventCriteria"].Value += String.Format("{0},", chk.Text);
        }
    }
}

//you'll probably need to trim the trailing comma too
cmd.Parameters["@eventCriteria"].Value = cmd.Parameters["@eventCriteria"].Value.TrimEnd(',');
foreach(string key in Request.Form) {
    if (!key.StartsWith("eventCriteria")) continue;
    //database insert logic

}