永发信息网

ASP.NET中的checkbox

答案:5  悬赏:80  手机版
解决时间 2021-04-11 04:25
  • 提问者网友:書生途
  • 2021-04-10 09:39

先看代码:ASP.NET:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns=" http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
您的兴趣爱好:<asp:Label ID="Label1" runat="server" Text="Label" Width="306px"></asp:Label><br />
<br />
<br />
<asp:CheckBoxList ID="CheckBoxList1" runat="server" Width="80px">
<asp:ListItem>钓鱼</asp:ListItem>
<asp:ListItem>养花</asp:ListItem>
<asp:ListItem>读书</asp:ListItem>
<asp:ListItem>运动</asp:ListItem>
</asp:CheckBoxList><br />
<br />
<asp:CheckBox ID="CheckBox1" runat="server" Text="是否允许别人看到" OnCheckedChanged="CheckBox1_CheckedChanged" />
<br />
<br />
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="提交" /></div>
</form>
</body>
</html>

C#:

using System;
using System.Data;
using System.Configuration;
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;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
Label1.Text = "";
}
protected void Button1_Click(object sender, EventArgs e)
{

foreach (ListItem Item in CheckBoxList1.Items)
{
Label1.Text = "";
if (Item.Selected)
Label1.Text = Label1.Text +","+Item.Value.ToString();

}
}

}

我想弄成点击了checkbox后,label1.text输出的不显示,但是上面这样写后,不管选不现checkbox,label1都不显示了··无语,望高手解答

最佳答案
  • 五星知识达人网友:人间朝暮
  • 2021-04-10 10:44

问题不在代码上面,在你的CheckBoxList1的Item根本就没Value值。。。


前台页面CheckBoxList1代码改为:


<asp:CheckBoxList ID="CheckBoxList1" runat="server" Width="80px">
<asp:ListItem Value="钓鱼">钓鱼</asp:ListItem>
<asp:ListItem Value="养花">养花</asp:ListItem>
<asp:ListItem Value="读书">读书</asp:ListItem>
<asp:ListItem Value="运动">运动</asp:ListItem>
</asp:CheckBoxList>

全部回答
  • 1楼网友:思契十里
  • 2021-04-10 13:51
foreach (ListItem Item in CheckBoxList1.Items) { Label1.Text = ""; if (Item.Selected) Label1.Text = Label1.Text +","+Item.Value.ToString();

} 加粗的地方错了,你每次都重新赋值为空了,把它拉到foreach外面

  • 2楼网友:白昼之月
  • 2021-04-10 12:44

在事件处理函数中加一个判断

protected void CheckBox1_CheckedChanged(object sender, EventArgs e) {

if(CheckBox1.Checked)//如果选择就设置为空 Label1.Text = ""; }

  • 3楼网友:轻熟杀无赦
  • 2021-04-10 12:36

protected void CheckBox1_CheckedChanged(object sender, EventArgs e) { Label1.Text = ""; } 改成

protected void CheckBox1_CheckedChanged(object sender, EventArgs e) { Label1.Visible = !CheckBox1.Checked;

} 没检查具体语法,大概的意思就是Label1要根据CheckBox1.Checked状态来显示

  • 4楼网友:轻雾山林
  • 2021-04-10 11:50

protected void CheckBox1_CheckedChanged(object sender, EventArgs e) {

if(chk1.checked)

{ Label1.Text = "";

} }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯