如何设置RadioButton和CheckBox控件只读且背景色不为灰色

时间:2023-01-30 14:49:21

请教各位大师,我遇到的一个问题:
 甲进入A页面,可以修改A页面的内容;

 当管理员用户进入A页面时,不能修改页面的内容,包括页面中的RadioButton和CheckBox控件不能修改,但希望背景色不会变成灰色,请问要如何处理呢?

35 个解决方案

#1


在后台做逻辑判断就Ok了
if(user=="管理员")
{
this.RadioButton.enabled=false;
this.CheckBox.enabled=false;
}

如何设置RadioButton和CheckBox控件只读且背景色不为灰色下载一次,就能不断自动更新,欢迎使用《Csdn收音机》!

#2


不是啊,设置完后,RadioButton不是会变成灰色吗?页面打印的时候就看不清了~

#3


这个没办法!!
除非你用图片代替!

#4


我现在想到的方法是重新新建一个浏览页面

#5


用一个透明的div 挡住

#6


在火狐上 可以 用JS(Jquery) 替换所有 有disabled 的CSS的背景换成白色的。。 但是IE好像没用
 

$('input:disabled,textarea:disabled,:checkbox:disabled,:radio:disabled').css({backgroundColor:'white',color:'black'});

#7


客户都是用IE的

#8


ReadOnly=true;

#9


我的项目也有这问题。。IE下不知道怎么办 哎。。。

#10


用一个透明的div 挡住

这个主意很好玩,能否举个例子

#11


如何设置RadioButton和CheckBox控件只读且背景色不为灰色不好意思 这个是文本的  

按钮什么没这个属性

#12


引用 8 楼 mou__ 的回复:
ReadOnly=true;

不好意思 这个是文本的   

按钮什么没这个属性



只看了后面的只读不为灰色没仔细看,我SB了- -!

#13


我想起了 入过只是 RadioButton和CheckBox控件不能修改  可以加 onclick=“reture false”
 这样 你点击事件就无效了

#14


能写完整点不?

#15


引用 14 楼 feixiang7443 的回复:
能写完整点不?



<asp:CheckBox ID="CheckBox1" runat="server" onclick="return false"/>

#16


这样不就写死了。。。

#17


你不是说要不能修改吗。。。

#18



if(user==“管理员")
{
CheckBox1.Attributes("onclick", "return false");
}

#19


既然不能改 就不要显示出来呗

#20


RadioButton1.Attributes("onclick", "return false"); 
提示如下错误,难道只能用在CHECKBOX

Non-invocable member 'System.Web.UI.WebControls.WebControl.Attributes' cannot be used like a method.

#21


.add

#22


RadioButton1.Attributes.Add("onclick", "return false");

#23


本帖最后由 net_lover 于 2011-01-20 16:42:01 编辑
 protected void Page_Load(object sender, EventArgs e)
  {
    CheckBox1.Attributes.Add("onclick", "this.checked=!this.checked");
  }


  <asp:CheckBox ID="CheckBox1" runat="server" />


<asp:CheckBox ID="CheckBox1" runat="server" />
<asp:RadioButton ID="RadioButton1" runat="server" />
  

RadioButton1.Attributes.Add("onclick", "this.checked=!this.checked");
CheckBox1.Attributes.Add("onclick", "this.checked=!this.checked");

#24


楼上说的对

#25


用楼上方法,控件还是可以点击。
RadioButton1和RadioButton2为同一组,点击RadioButton1后,RadioButton1和RadioButton2的check都为FALSE

#26


引用 25 楼 feixiang7443 的回复:
用楼上方法,控件还是可以点击。
RadioButton1和RadioButton2为同一组,点击RadioButton1后,RadioButton1和RadioButton2的check都为FALSE


一组怎么了?

你的问题不是设置只读吗?下面的代码没有实现你的功能还是没有将问题说清楚》?

<%@ Page Language="C#" %>

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

  protected void Page_Load(object sender, EventArgs e)
  {
    RadioButton1.Attributes.Add("onclick", "this.checked=!this.checked");
    RadioButton2.Attributes.Add("onclick", "this.checked=!this.checked");
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title></title>
</head>
<body>
  <form id="form1" runat="server">
  <asp:RadioButton ID="RadioButton1" GroupName="x" runat="server" />
  <asp:RadioButton ID="RadioButton2" GroupName="x" runat="server" />
  </form>
</body>
</html>

#27


我按上面代码写的,去实现后效果为:

打开页面浏览时,RadioButton1的check为false,RadioButton2的check为true
我去点击RadioButton1,显示效果为:RadioButton1和RadioButton2的check变成false

按理说应该不会修改才对啊~

#28


<asp:RadioButton ID="rbtn_1" runat="server" Text="boy" GroupName="sex" Checked="true" />
        <asp:RadioButton ID="rbtn_2" runat="server" Text="girl" GroupName="sex" />

当管理员进入A页面时,
RadioButton1.Attributes.Add("onclick", "return false");
.因为管理员不能单击girl按钮,但是如果他单击girl按钮的话,girl按钮不会被选中,同时boy按钮也失去了被选中的状态。此时应该用js代码重新将boy按钮设置为选中状态

#29


<asp:RadioButton ID="rbtn_1" runat="server" Text="boy" GroupName="sex" Checked="true" />
        <asp:RadioButton ID="rbtn_2" runat="server" Text="girl" GroupName="sex" />

当管理员进入A页面时,
RadioButton1.Attributes.Add("onclick", "return false");
.因为管理员不能单击girl按钮,但是如果他单击girl按钮的话,girl按钮不会被选中,同时boy按钮也失去了被选中的状态。此时应该用js代码重新将boy按钮设置为选中状态

#30


那是不是还需要用个控件或变量来保存RadioButton的状态。

#31


一个方法,可以设置一个透明的层盖在上面

#32


本帖最后由 net_lover 于 2011-01-20 17:46:14 编辑
<%@ Page Language="C#" %>

<!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">
  <asp:RadioButton ID="RadioButton1" GroupName="x" runat="server" />
  <asp:RadioButton ID="RadioButton2" GroupName="x" runat="server" Checked="true" />
  <div id="blockUI" style="background-color: #FFF; width: 100%; height: 60px; position: absolute;
    left: 0px; top: 0px; z-index: 50000; -moz-opacity: 0; opacity: 0; filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'; filter: alpha(opacity=0);"
    onclick="return false" onmousedown="return false" onmousemove="return false" onmouseup="return false"
    ondblclick="return false">
    &nbsp;
  </div>
  </form>
</body>
</html>

#33


楼上这个方法很不错!

#34


不过用32楼方法还有个问题,下拉框可以点击选择。不知道为什么

#35


孟子老大果然厉害

#1


在后台做逻辑判断就Ok了
if(user=="管理员")
{
this.RadioButton.enabled=false;
this.CheckBox.enabled=false;
}

如何设置RadioButton和CheckBox控件只读且背景色不为灰色下载一次,就能不断自动更新,欢迎使用《Csdn收音机》!

#2


不是啊,设置完后,RadioButton不是会变成灰色吗?页面打印的时候就看不清了~

#3


这个没办法!!
除非你用图片代替!

#4


我现在想到的方法是重新新建一个浏览页面

#5


用一个透明的div 挡住

#6


在火狐上 可以 用JS(Jquery) 替换所有 有disabled 的CSS的背景换成白色的。。 但是IE好像没用
 

$('input:disabled,textarea:disabled,:checkbox:disabled,:radio:disabled').css({backgroundColor:'white',color:'black'});

#7


客户都是用IE的

#8


ReadOnly=true;

#9


我的项目也有这问题。。IE下不知道怎么办 哎。。。

#10


用一个透明的div 挡住

这个主意很好玩,能否举个例子

#11


如何设置RadioButton和CheckBox控件只读且背景色不为灰色不好意思 这个是文本的  

按钮什么没这个属性

#12


引用 8 楼 mou__ 的回复:
ReadOnly=true;

不好意思 这个是文本的   

按钮什么没这个属性



只看了后面的只读不为灰色没仔细看,我SB了- -!

#13


我想起了 入过只是 RadioButton和CheckBox控件不能修改  可以加 onclick=“reture false”
 这样 你点击事件就无效了

#14


能写完整点不?

#15


引用 14 楼 feixiang7443 的回复:
能写完整点不?



<asp:CheckBox ID="CheckBox1" runat="server" onclick="return false"/>

#16


这样不就写死了。。。

#17


你不是说要不能修改吗。。。

#18



if(user==“管理员")
{
CheckBox1.Attributes("onclick", "return false");
}

#19


既然不能改 就不要显示出来呗

#20


RadioButton1.Attributes("onclick", "return false"); 
提示如下错误,难道只能用在CHECKBOX

Non-invocable member 'System.Web.UI.WebControls.WebControl.Attributes' cannot be used like a method.

#21


.add

#22


RadioButton1.Attributes.Add("onclick", "return false");

#23


本帖最后由 net_lover 于 2011-01-20 16:42:01 编辑
 protected void Page_Load(object sender, EventArgs e)
  {
    CheckBox1.Attributes.Add("onclick", "this.checked=!this.checked");
  }


  <asp:CheckBox ID="CheckBox1" runat="server" />


<asp:CheckBox ID="CheckBox1" runat="server" />
<asp:RadioButton ID="RadioButton1" runat="server" />
  

RadioButton1.Attributes.Add("onclick", "this.checked=!this.checked");
CheckBox1.Attributes.Add("onclick", "this.checked=!this.checked");

#24


楼上说的对

#25


用楼上方法,控件还是可以点击。
RadioButton1和RadioButton2为同一组,点击RadioButton1后,RadioButton1和RadioButton2的check都为FALSE

#26


引用 25 楼 feixiang7443 的回复:
用楼上方法,控件还是可以点击。
RadioButton1和RadioButton2为同一组,点击RadioButton1后,RadioButton1和RadioButton2的check都为FALSE


一组怎么了?

你的问题不是设置只读吗?下面的代码没有实现你的功能还是没有将问题说清楚》?

<%@ Page Language="C#" %>

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

  protected void Page_Load(object sender, EventArgs e)
  {
    RadioButton1.Attributes.Add("onclick", "this.checked=!this.checked");
    RadioButton2.Attributes.Add("onclick", "this.checked=!this.checked");
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title></title>
</head>
<body>
  <form id="form1" runat="server">
  <asp:RadioButton ID="RadioButton1" GroupName="x" runat="server" />
  <asp:RadioButton ID="RadioButton2" GroupName="x" runat="server" />
  </form>
</body>
</html>

#27


我按上面代码写的,去实现后效果为:

打开页面浏览时,RadioButton1的check为false,RadioButton2的check为true
我去点击RadioButton1,显示效果为:RadioButton1和RadioButton2的check变成false

按理说应该不会修改才对啊~

#28


<asp:RadioButton ID="rbtn_1" runat="server" Text="boy" GroupName="sex" Checked="true" />
        <asp:RadioButton ID="rbtn_2" runat="server" Text="girl" GroupName="sex" />

当管理员进入A页面时,
RadioButton1.Attributes.Add("onclick", "return false");
.因为管理员不能单击girl按钮,但是如果他单击girl按钮的话,girl按钮不会被选中,同时boy按钮也失去了被选中的状态。此时应该用js代码重新将boy按钮设置为选中状态

#29


<asp:RadioButton ID="rbtn_1" runat="server" Text="boy" GroupName="sex" Checked="true" />
        <asp:RadioButton ID="rbtn_2" runat="server" Text="girl" GroupName="sex" />

当管理员进入A页面时,
RadioButton1.Attributes.Add("onclick", "return false");
.因为管理员不能单击girl按钮,但是如果他单击girl按钮的话,girl按钮不会被选中,同时boy按钮也失去了被选中的状态。此时应该用js代码重新将boy按钮设置为选中状态

#30


那是不是还需要用个控件或变量来保存RadioButton的状态。

#31


一个方法,可以设置一个透明的层盖在上面

#32


本帖最后由 net_lover 于 2011-01-20 17:46:14 编辑
<%@ Page Language="C#" %>

<!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">
  <asp:RadioButton ID="RadioButton1" GroupName="x" runat="server" />
  <asp:RadioButton ID="RadioButton2" GroupName="x" runat="server" Checked="true" />
  <div id="blockUI" style="background-color: #FFF; width: 100%; height: 60px; position: absolute;
    left: 0px; top: 0px; z-index: 50000; -moz-opacity: 0; opacity: 0; filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'; filter: alpha(opacity=0);"
    onclick="return false" onmousedown="return false" onmousemove="return false" onmouseup="return false"
    ondblclick="return false">
    &nbsp;
  </div>
  </form>
</body>
</html>

#33


楼上这个方法很不错!

#34


不过用32楼方法还有个问题,下拉框可以点击选择。不知道为什么

#35


孟子老大果然厉害