RadioButtonList取值问题

九章落地 2004-08-11 05:27:08
新建了一个RadioButtonList,有三个选项,分别为男、女、保密,其中保密是默认值。
问题在于:无论选的是男、还是女,提交后取得的值都是保密。我用VS2003写的,直接用属性设置默认值,不是在PageLoad中设定。试过
RadioButtonList1.SelectedItem.Text
RadioButtonList1.SelectedItem.Value
都不行
在VS2002中没有发现过这种问题。
...全文
649 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
九章落地 2004-08-11
  • 打赏
  • 举报
回复
我还用了验证的控件,不知道有没有影响。完全的源代码如下
public class reg : System.Web.UI.Page
{
protected System.Web.UI.WebControls.RadioButtonList RBSex;
protected System.Web.UI.WebControls.TextBox TBUserID;
protected System.Web.UI.WebControls.RequiredFieldValidator RFVTBUserID;
protected System.Web.UI.WebControls.Button BtnSend;
protected System.Web.UI.WebControls.TextBox TBPw;
protected System.Web.UI.WebControls.TextBox TBRePw;
protected System.Web.UI.WebControls.TextBox TBEMail;
protected System.Web.UI.WebControls.RequiredFieldValidator RFVPw;
protected System.Web.UI.WebControls.RequiredFieldValidator RFVRePw;
protected System.Web.UI.WebControls.RequiredFieldValidator RFEMail;
protected System.Web.UI.WebControls.RegularExpressionValidator REVEMail;
protected System.Data.OleDb.OleDbConnection OleDbCon;
protected System.Data.OleDb.OleDbCommand OleDbCmd;

private void Page_Load(object sender, System.EventArgs e)
{
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.BtnSend.Click += new System.EventHandler(this.BtnSend_Click);
this.OleDbCon=new System.Data.OleDb.OleDbConnection();
this.OleDbCon.ConnectionString=略;
  this.Load += new System.EventHandler(this.Page_Load);
}
#endregion

private void BtnSend_Click(object sender, System.EventArgs e)
{
  if(Page.IsValid==true)
  {
string inserSQL;
inserSQL="insert into Userinfo (UserID,Pw,EMail,Sex,Born,ComeFrom,";
inserSQL+="HomePage,OICQ,MSN,Head) ";
inserSQL+=" values(?,?,?,?,?,?,?,?,?,?)";
OleDbCmd=new System.Data.OleDb.OleDbCommand(inserSQL,OleDbCon);
OleDbCmd.Parameters.Add(new OleDbParameter("@UserID",OleDb.OleDbType.Char,20));
OleDbCmd.Parameters.Add(new OleDbParameter("@Pw",OleDb.OleDbType.Char,12));
OleDbCmd.Parameters.Add(new OleDbParameter("@EMail",OleDb.OleDbType.Char,30));
OleDbCmd.Parameters.Add(new OleDbParameter("@Sex",OleDb.OleDbType.Char,4));
OleDbCmd.Parameters[0].Value=TBUserID.Text.Trim();
OleDbCmd.Parameters[1].Value=TBPw.Text.Trim();
OleDbCmd.Parameters[2].Value=TBEMail.Text.Trim();
OleDbCmd.Parameters[3].Value=RBSex.SelectedItem.Value;
Response.Write(RBSex.SelectedItem.Value);
OleDbCon.Open();
OleDbCmd.ExecuteNonQuery();
OleDbCon.Close();
Response.Write("注册成功");
}
}
}
页面输出的永远都是保密,而数据里面插入的数据也都是保密。
possible_Y 2004-08-11
  • 打赏
  • 举报
回复
好像是没问题
suyife 2004-08-11
  • 打赏
  • 举报
回复
我拷贝粘贴了你的代码,运行正常。
九章落地 2004-08-11
  • 打赏
  • 举报
回复
晕死了,刚才又把错的重贴了一次
客户端:
<asp:radiobuttonlist id="RBSex" Width="158px" Runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="男">男</asp:ListItem>
<asp:ListItem Value="女">女</asp:ListItem>
<asp:ListItem Value="保密" Selected="True">保密</asp:ListItem>
</asp:radiobuttonlist>
服务端:
public class reg : System.Web.UI.Page
{
protected System.Web.UI.WebControls.RadioButtonList RBSex;
protected System.Web.UI.WebControls.Button BtnSend;
private void Page_Load(object sender, System.EventArgs e)
{

}
private void BtnSend_Click(object sender, System.EventArgs e)
{
Response.Write(RBSex.SelectedItem.Text)
}
九章落地 2004-08-11
  • 打赏
  • 举报
回复
上面搞错了
客户端:
<asp:radiobuttonlist id="RBSex" Width="158px" Runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="男">男</asp:ListItem>
<asp:ListItem Value="女">女</asp:ListItem>
<asp:ListItem Value="保密" Selected="True">保密</asp:ListItem>
</asp:radiobuttonlist>
服务端:
public class reg : System.Web.UI.Page
{
protected System.Web.UI.WebControls.RadioButtonList RBSex;
protected System.Web.UI.WebControls.Button BtnSend;
private void Page_Load(object sender, System.EventArgs e)
{

}
private void BtnSend_Click(object sender, System.EventArgs e)
{
Response.Write(SelectedItem.Text)
}
九章落地 2004-08-11
  • 打赏
  • 举报
回复
客户端:
<asp:radiobuttonlist id="RBSex" Width="158px" Runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="男">男</asp:ListItem>
<asp:ListItem Value="女">女</asp:ListItem>
<asp:ListItem Value="保密" Selected="True">保密</asp:ListItem>
</asp:radiobuttonlist>
服务端:
public class reg : System.Web.UI.Page
{
protected System.Web.UI.WebControls.RadioButtonList RBSex;
protected System.Web.UI.WebControls.Button Btntest;
private void Page_Load(object sender, System.EventArgs e)
{

}
private void BtnSend_Click(object sender, System.EventArgs e)
{
Response.Write(SelectedItem.Text)
}
nswhy 2004-08-11
  • 打赏
  • 举报
回复
你看看你的radio中的各项value值是不是一样
应该能够取出来的
LinYeCunFu 2004-08-11
  • 打赏
  • 举报
回复
把你整段代码贴上来看一下。

62,046

社区成员

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

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

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

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