关于CHECKBOX取值问题

heyusuo 2013-04-30 07:06:37
以下是部分前台的代码:

<dl>
<dt class="on"><a>用户管理权限</a></dt>
</dl>
<div>
<ul style="display:block;">
<li><asp:CheckBox ID="yhshqx" runat="server" Text="注册用户审核" Font-Size="Small" /> </li>
<li><asp:CheckBox ID="tjyhqx" runat="server" Text="添加系统用户" Font-Size="Small" /></li>
<li><asp:CheckBox ID="scyhqx" runat="server" Text="删除系统用户" Font-Size="Small" /></li>
<li><asp:CheckBox ID="qxfpqx" runat="server" Text="用户权限分配" Font-Size="Small" /></li>
<li><asp:CheckBox ID="mmxgqx" runat="server" Text="用户密码修改" Font-Size="Small" /></li>

</ul>
.....其他代码就省略了
<asp:Button ID="Button1" runat="server" Text="确定修改"
OnClientClick="return confirm('修改权限可能带来使用功能受限,您确定要修改吗?')"
onclick="Button1_Click"/>
</div>


以下是后台的代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class admin_useradmin_qxfpb : System.Web.UI.Page
{
public string a;
private string ConnStr = System.Configuration.ConfigurationManager.ConnectionStrings["databaseConnectionString"].ConnectionString;//设置数据库连接
protected void Page_Load(object sender, EventArgs e)
{
string usname = Request.QueryString["username"];
username.Text = usname;

//后台控制前台显示状态
SqlConnection Conn = new SqlConnection(ConnStr); //Sql链接类的实例化
Conn.Open();//打开数据库
string strSQL = "select * from loginuser where [username]='" + usname + "'";//查找
SqlDataAdapter da = new SqlDataAdapter(strSQL, Conn);//创建适配器
SqlCommand cmd = new SqlCommand();//创建Command命令对象
DataTable dt=new DataTable();
da.Fill(dt);
if (dt != null)

yhshqx.Checked = Convert.ToBoolean(dt.Rows[0]["yhshqx"]);//0和1 能转换成BOOL型
tjyhqx.Checked = Convert.ToBoolean(dt.Rows[0]["tjyhqx"]);
scyhqx.Checked = Convert.ToBoolean(dt.Rows[0]["scyhqx"]);
qxfpqx.Checked = Convert.ToBoolean(dt.Rows[0]["qxfpqx"]);
mmxgqx.Checked = Convert.ToBoolean(dt.Rows[0]["mmxgqx"]);
mllrqx.Checked = Convert.ToBoolean(dt.Rows[0]["mllrqx"]);
mlckqx.Checked = Convert.ToBoolean(dt.Rows[0]["mlckqx"]);
txdyqx.Checked = Convert.ToBoolean(dt.Rows[0]["txdyqx"]);
jydackqx.Checked = Convert.ToBoolean(dt.Rows[0]["jydackqx"]);
xydackqx.Checked = Convert.ToBoolean(dt.Rows[0]["xydackqx"]);
jcdackqx.Checked = Convert.ToBoolean(dt.Rows[0]["jcdackqx"]);
sbdackqx.Checked = Convert.ToBoolean(dt.Rows[0]["sbdackqx"]);
scdaqx.Checked = Convert.ToBoolean(dt.Rows[0]["scdaqx"]);
daxhqx.Checked = Convert.ToBoolean(dt.Rows[0]["daxhqx"]);
qyfctjqx.Checked = Convert.ToBoolean(dt.Rows[0]["qyfctjqx"]);
qyfcscqx.Checked = Convert.ToBoolean(dt.Rows[0]["qyfcscqx"]);
sjkbfqx.Checked = Convert.ToBoolean(dt.Rows[0]["sjkbfqx"]);
hflyqx.Checked = Convert.ToBoolean(dt.Rows[0]["hflyqx"]);
sclyqx.Checked = Convert.ToBoolean(dt.Rows[0]["sclyqx"]);
xgcjzhqx.Checked = Convert.ToBoolean(dt.Rows[0]["xgcjzhqx"]);
xgxsszqx.Checked = Convert.ToBoolean(dt.Rows[0]["xgxsszqx"]);

Conn.Close();

}
protected void Button1_Click(object sender, EventArgs e)
{
string yhsh, tjyh, scyh, qxfp, mmxg, mllr, mlck, txdy, jydack, xydack, jcdack, sbdack, scda, daxh, qyfctj, qyfcsc, sjkbf, hfly, scly, xgcjzh, xgxssz;

yhsh = yhshqx.Checked ? "1" : "0";//三元运算,表达式1?表达式2:表达式3 如果1为真则执行2,为假执行3
tjyh = tjyhqx.Checked ? "1" : "0";
scyh = scyhqx.Checked ? "1" : "0";
qxfp = qxfpqx.Checked ? "1" : "0";
mmxg = mmxgqx.Checked ? "1" : "0";
mllr = mllrqx.Checked ? "1" : "0";
mlck = mlckqx.Checked ? "1" : "0";
txdy = txdyqx.Checked ? "1" : "0";
jydack = jydackqx.Checked ? "1" : "0";
xydack = xydackqx.Checked ? "1" : "0";
jcdack = jcdackqx.Checked ? "1" : "0";
sbdack = sbdackqx.Checked ? "1" : "0";
scda = scdaqx.Checked ? "1" : "0";
daxh = daxhqx.Checked ? "1" : "0";
qyfctj = qyfctjqx.Checked ? "1" : "0";
qyfcsc = qyfcscqx.Checked ? "1" : "0";
sjkbf = sjkbfqx.Checked ? "1" : "0";
hfly = hflyqx.Checked ? "1" : "0";
scly = sclyqx.Checked ? "1" : "0";
xgcjzh = xgcjzhqx.Checked ? "1" : "0";
xgxssz = xgxsszqx.Checked ? "1" : "0";

Response.Write(yhsh);
Response.Write(tjyh);
Response.End();

/*
//开始写入数据库
SqlConnection Conn1 = new SqlConnection(ConnStr); //Sql链接类的实例化
Conn1.Open();//打开数据库


string strSQL1 = "Update [loginuser] set [yhshqx]='" + int.Parse(yhsh) + "',[tjyhqx]='" + int.Parse(tjyh) + "',[scyhqx]='" + int.Parse(scyh) + "',[qxfpqx]='" + int.Parse(qxfp) + "',[mmxgqx]='" + int.Parse(mmxg) + "',[mllrqx]='" + int.Parse(mllr) + "',[mlckqx]='" + int.Parse(mlck) + "',[txdyqx]='" + int.Parse(txdy) + "',[jydackqx]='" + int.Parse(jydack) + "',[xydackqx]='" + int.Parse(xydack) + "',[jcdackqx]='" + int.Parse(jcdack) + "',[sbdackqx]='" + int.Parse(sbdack) + "',[scdaqx]='" + int.Parse(scda) + "',[daxhqx]='" + int.Parse(daxh) + "',[qyfctjqx]='" + int.Parse(qyfctj) + "',[qyfcscqx]='" + int.Parse(qyfcsc) + "',[sjkbfqx]='" + int.Parse(sjkbf) + "',[hflyqx]='" + int.Parse(hfly) + "',[sclyqx]='" + int.Parse(scly) + "',[xgcjzhqx]='" + int.Parse(xgcjzh) + "',[xgxsszqx]='" + int.Parse(xgxssz) + "' where [username]='" + username.Text.ToString() + "'";//更新的SQL语句

SqlCommand cmd1 = new SqlCommand(strSQL1, Conn1);//创建Command命令对象
cmd1.ExecuteNonQuery();//执行命令
Response.Write("<script language='javascript'>alert('权限修改成功!');window.location.href='userqxfp.aspx'</script>");
Conn1.Close();
*/
}

}

我把红色代码(根据数据库的值给CHECKBOX赋值)注释掉的话前台勾选和取消勾选 Response.Write(yhsh);Response.Write(tjyh);都能正确的反应出来,但是不注释的话打印出的数字永远都是数据库中的值,怎么解决
...全文
82 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
heyusuo 2013-04-30
  • 打赏
  • 举报
回复
问题解决,谢谢两位,结贴
  • 打赏
  • 举报
回复
if(!isPostBack) { string usname = Request.QueryString["username"]; username.Text = usname; //后台控制前台显示状态 SqlConnection Conn = new SqlConnection(ConnStr); //Sql链接类的实例化 Conn.Open();//打开数据库 string strSQL = "select * from loginuser where [username]='" + usname + "'";//查找 SqlDataAdapter da = new SqlDataAdapter(strSQL, Conn);//创建适配器 SqlCommand cmd = new SqlCommand();//创建Command命令对象 DataTable dt=new DataTable(); da.Fill(dt); if (dt != null) yhshqx.Checked = Convert.ToBoolean(dt.Rows[0]["yhshqx"]);//0和1 能转换成BOOL型 tjyhqx.Checked = Convert.ToBoolean(dt.Rows[0]["tjyhqx"]); scyhqx.Checked = Convert.ToBoolean(dt.Rows[0]["scyhqx"]); qxfpqx.Checked = Convert.ToBoolean(dt.Rows[0]["qxfpqx"]); mmxgqx.Checked = Convert.ToBoolean(dt.Rows[0]["mmxgqx"]); mllrqx.Checked = Convert.ToBoolean(dt.Rows[0]["mllrqx"]); mlckqx.Checked = Convert.ToBoolean(dt.Rows[0]["mlckqx"]); txdyqx.Checked = Convert.ToBoolean(dt.Rows[0]["txdyqx"]); jydackqx.Checked = Convert.ToBoolean(dt.Rows[0]["jydackqx"]); xydackqx.Checked = Convert.ToBoolean(dt.Rows[0]["xydackqx"]); jcdackqx.Checked = Convert.ToBoolean(dt.Rows[0]["jcdackqx"]); sbdackqx.Checked = Convert.ToBoolean(dt.Rows[0]["sbdackqx"]); scdaqx.Checked = Convert.ToBoolean(dt.Rows[0]["scdaqx"]); daxhqx.Checked = Convert.ToBoolean(dt.Rows[0]["daxhqx"]); qyfctjqx.Checked = Convert.ToBoolean(dt.Rows[0]["qyfctjqx"]); qyfcscqx.Checked = Convert.ToBoolean(dt.Rows[0]["qyfcscqx"]); sjkbfqx.Checked = Convert.ToBoolean(dt.Rows[0]["sjkbfqx"]); hflyqx.Checked = Convert.ToBoolean(dt.Rows[0]["hflyqx"]); sclyqx.Checked = Convert.ToBoolean(dt.Rows[0]["sclyqx"]); xgcjzhqx.Checked = Convert.ToBoolean(dt.Rows[0]["xgcjzhqx"]); xgxsszqx.Checked = Convert.ToBoolean(dt.Rows[0]["xgxsszqx"]); Conn.Close(); }
heyusuo 2013-04-30
  • 打赏
  • 举报
回复
首次加载的具体思路是什么样的啊,在哪里判断呢?
bidisty 2013-04-30
  • 打赏
  • 举报
回复
IsPostBack?

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧