RadioButton控件保持状态的问题

honnan411 2008-12-09 09:15:00
大家好!请教一个关于RadioButton的问题
描述如下:

TextBox RadioButton1(Checked=true) RadioButton2(Checked=false) Button1
以上是本例子默认RadioButton1为Checked,两个RadioButton的EnableViewState=false
Button1 click测试如下问题

if(RadioButton1.Checked = ture)
{
Rosponse.Write("aa");
}
else
if (RadioButton2.Checked = ture)
{
Rosponse.Write("bb");
}
}
以上代码不是复制源代码,如有字符敲错不必讨论这个错

现在问题是,当选择1 checked 可以显示 aa
当选中 2 checked 返回的还是 aa
这里请教如何保持RadioButton的状态用于往返
本人刚学,并自学,希望得到您的帮助,谢谢
...全文
503 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
honnan411 2008-12-12
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 net5i 的回复:]
我晕倒,既然搂主是少个=号,那搂主就别写这句话嘛:
“以上代码不是复制源代码,如有字符敲错不必讨论这个错”

偶们还以为没有等号是搂主在CDSN里面敲错的呢
[/Quote]
真的不好意思哈,因我一句话,让您理解错了
moluotuo 2008-12-10
  • 打赏
  • 举报
回复
LZ RadioButton1.Checked = ture
应当是 == 不是=
是比较不是赋值哦
另外 “==True”可以不要,因为RadioButton1.Checked 执行的结果就是一个Bool类型
honnan411 2008-12-10
  • 打赏
  • 举报
回复
to net5i

问题确实如你我代码所示不同那样
我的 RadioButton1.Checked = ture 的问题
用您的就好了,虽然还不明白咱俩代码之间的区别,但结果您的是正确的

看来我还要去搞明白下这两种写法的不同之处,和我错误的原因


非常谢谢您的帮助,祝您顺利!!

honnan411 2008-12-10
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 net5i 的回复:]
不知道搂主是怎么搞得
设置好这俩控件的属性以后,我这里是可以的:
protected void Button1_Click(object sender, EventArgs e)
{

{
Response.Write("RadioButton1被选中了");
}
else if (this.RadioButton2.Checked)
{
Response.Write("RadioButton2被选中了");
}
}
[/Quote]
HeHe 我发现了点点不同,
就是你用 if (this.RadioButton1.Checked)
而我用 if (RadioButton1.Checked = ture)
但就当前感觉不是你我代码不同的问题,我试下您的代码
谢谢您,我是一个相当麻烦的人,不好意思了
net5i 2008-12-10
  • 打赏
  • 举报
回复
呵呵,搂主很搞嘛
net5i 2008-12-10
  • 打赏
  • 举报
回复
我晕倒,既然搂主是少个=号,那搂主就别写这句话嘛:
“以上代码不是复制源代码,如有字符敲错不必讨论这个错”

偶们还以为没有等号是搂主在CDSN里面敲错的呢
honnan411 2008-12-10
  • 打赏
  • 举报
回复
感谢 感谢,非常感谢你们的帮助 结贴了
net5i 2008-12-09
  • 打赏
  • 举报
回复
不知道搂主是怎么搞得
设置好这俩控件的属性以后,我这里是可以的:
protected void Button1_Click(object sender, EventArgs e)
{
if (this.RadioButton1.Checked)
{
Response.Write("RadioButton1被选中了");
}
else if (this.RadioButton2.Checked)
{
Response.Write("RadioButton2被选中了");
}
}
honnan411 2008-12-09
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 net5i 的回复:]
如果搂主要用一个按钮单击,然后在单击事件里判断的话,是可以的
只要设置两个RedioButton的AutoPostBack属性为true即可
[/Quote]
这个也设置过,无效哎,也在网上搜了好一阵了,类似的问题几乎没有,
本来一开始做这个练习,我自感觉很简单啊,是不是不用机器上操作了,好似在脑子中都程序立即都成型了
后来考虑还是敲上这段程序,也好熟练下那些关键字啦,语句啦等等
运行的时候,根本就没想到会这样子的,本以为就算就错误,也就是很容易找到解决就Ok了,
没想到,还有很多问题不明白的 :(
net5i 2008-12-09
  • 打赏
  • 举报
回复
开始我还以为搂主使用的是RadioButton的Click事件呢,所以建议使用CheckedChanged事件
因为RadioButton是没有Click事件的
net5i 2008-12-09
  • 打赏
  • 举报
回复
如果搂主要用一个按钮单击,然后在单击事件里判断的话,是可以的
只要设置两个RedioButton的AutoPostBack属性为true即可
honnan411 2008-12-09
  • 打赏
  • 举报
回复
to 16楼 moluotuo

谢谢您,您的每个字对于我来说都很有收获,

祝好!!
honnan411 2008-12-09
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 net5i 的回复:]
搂主是在:Click事件里面做的那些判断吗?

如果是的话,建议使用CheckedChanged事件
[/Quote]
首先谢谢您
这个例子,只是想用button_click事件,而不想用任何RadioButton事件的,详细的描述一下
就是下面这样

一个文本框(TextBox1)一对单选按钮在同一组(RadioButton1 ,RadioButton2) 一个按钮(button1)

当按下button1 触发事件 (事件的过程在1楼)
就是想这样一个简单的过程,而不想要其他控件有触发事件

这个应用比如在搜索功能上,应该能经常遇到的,虽然我在学习而不是实际应用,但还是想搞明白控件如何设置,回发保持状态,和更简练有效的代码使用控件
moluotuo 2008-12-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 honnan411 的回复:]
引用 8 楼 net5i 的回复:

对的,就是楼上那个意思

否则,搂主可以写代码:
private void CheckBox1_Checked(注意:这是个事件)
{
    this.CheckBox2.Checked = !this.CheckBox1.Checked;
}

private void CheckBox2_Checked
{
    this.CheckBox1.Checked = !this.CheckBox2.Checked;
}


这里呢,是想button click事件,为了让RadioButton能达到自己要求的往返,是否真的还需要再给RadioButton写个事件呢
我感觉这…
[/Quote]
LZ你好! 其实我个人感觉,相比java 用C#开发一些功能一般的应用程要远比java要迅速,C#已经把好多东西给封装好了,开发者只要调用就好,会省不少代码
当然企业级开发是好多控件都是自己公司做的,但是却可以实现一次编写,多次使用,一劳永逸
你可以找一些介绍C#短期 入门、速成方面的书籍,知识当然不容易速成,但是可以快速了解这种知识的大体,和基础知识,个人认为还比较好


DavidNoWay 2008-12-09
  • 打赏
  • 举报
回复
Mark
DavidNoWay 2008-12-09
  • 打赏
  • 举报
回复
Mark
net5i 2008-12-09
  • 打赏
  • 举报
回复
噢,搂主是不是没有设置控件的AutoPostBack属性?

我这里是正常的:
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
if (this.RadioButton1.Checked)
{
Response.Write("RadioButton1被选中了");
}
else if (this.RadioButton2.Checked)
{
Response.Write("RadioButton2被选中了");
}
}
protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
{
if (this.RadioButton1.Checked)
{
Response.Write("RadioButton1被选中了");
}
else if (this.RadioButton2.Checked)
{
Response.Write("RadioButton2被选中了");
}
}
net5i 2008-12-09
  • 打赏
  • 举报
回复
搂主是在:Click事件里面做的那些判断吗?

如果是的话,建议使用CheckedChanged事件
honnan411 2008-12-09
  • 打赏
  • 举报
回复
求助路过的朋友!! 谢谢
honnan411 2008-12-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 net5i 的回复:]
对的,就是楼上那个意思

否则,搂主可以写代码:
private void CheckBox1_Checked(注意:这是个事件)
{
this.CheckBox2.Checked = !this.CheckBox1.Checked;
}

private void CheckBox2_Checked
{
this.CheckBox1.Checked = !this.CheckBox2.Checked;
}
[/Quote]

这里呢,是想button click事件,为了让RadioButton能达到自己要求的往返,是否真的还需要再给RadioButton写个事件呢
我感觉这只是很简单的应用,难道非这么曲折么
还有,我刚学C#,感觉用C#实现一个需要,需要书写的代码比较多
不知道大家是否也这样,望大家推荐一本好书,我买的几本书不敢恭维,基本就算是让你明白doNet和C#是什么东东的意思
笼统的很
加载更多回复(9)

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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