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