我有以下代码:
(some.aspx.cs)
if(Page.IsPostBack)
{
bool apple2 = false;
bool pizza2 = false;
bool orange2 = false;
if (apple.Checked)
apple2 = true;
if (pizza.Checked)
pizza2 = true;
if (orange.Checked)
orange2 = true;
}
Run Code Online (Sandbox Code Playgroud)
(some.aspx)
<tr>
<td>Food:</td>
<td>Apple <input type="checkbox" name="food" id="apple" value="apple" runat="server" />Pizza <input type="checkbox" name="food" id="pizza" value="pizza" runat="server" />Orange <input type="checkbox" name="food" id="orange" value="orange" runat="server" /></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
现在,我将布尔变量发送到SQL数据库.问题只出现在未经检查的方框中.我的意思是,当你检查一些复选框时,它会将其发送为真(这是正确的)但是当我取消选中它时它保持不变(真实).
另外:为什么太少?这是一个查询...这里没什么特别的
string q = string.Format(@"UPDATE tblUsers SET ......., apple='{8}', orange='{9}' WHERE id='{10}'", ...., apple2, orange2, id);
lib.sql_query(q); // using my sql library...
Run Code Online (Sandbox Code Playgroud)
数据类型是位....我也尝试使用字符串...但没有成功
PS - 我也尝试过Request.Form ["apple"],取消选中工作......但不幸的是检查没有...当我选中复选框时它会抛出一个错误:
Conversion failed when converting the varchar value 'on' to data type bit.
Run Code Online (Sandbox Code Playgroud)
有人?
小智 7
所以经过很长一段时间的组合和其他东西它工作...没有任何javascripts和隐藏的字段...这是.cs代码
bool apple2 = (Request.Form["apple"] == "on") ? true : false;
bool orange2 = (Request.Form["orange"] == "on") ? true : false;
bool pizza2 = (Request.Form["pizza"] == "on") ? true : false;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30501 次 |
| 最近记录: |