HTML标准控件 AND HTML服务器控件中radio的区别

来源:互联网 发布:淘宝直播小陈珍珠 编辑:程序博客网 时间:2024/06/06 21:01
  

<input id="Radio1" checked="checked" type="radio" checked="checked" />
<input id="Radio1" checked="checked" type="radio" runat="server" checked="checked" />
大家一定不会陌生这两个按钮吧!对一个是标准的html中的控件,一个是html服务器控件,我相信每一个ASP的程序员一定会看出来,但你们能看出来这两个按钮的其中一个是不对的吗?
我可以告诉你们答案:第一个是正确的,第二个就是错误的了,为什么呢?
我从我个人角度来理解是这样的:
因为,第二个已经设置成为了服务器控件:
这是一个标准的服务器控件,是一个标准状态,没有任何状态的
<asp:RadioButton ID="RadioButton1" runat="server" />
这是一个Checked为true的控件:
 <asp:RadioButton ID="RadioButton1" runat="server" Checked="True" />
下面是编译好的html源文件:
<input id="RadioButton1" type="radio" name="RadioButton1" value="RadioButton1" checked="checked" />


以下这一句为什么是不正确的呢,因为是:编译器在进行编译的时候就已经认为这是一个服务器控件了,它在初始化时查个各个按钮的属性,他会检查其Checked是否为true,当检查出其Checked为="checked"时就会报错,因为这里的Checked是一个system.Boolean的,所以检查到的值是string就出现错误了(无法从其“Checked”属性的字符串表示形式“checked”创建“System.Boolean”类型的对象。),希望对大家有一定的帮助,不再出现这类问题。
这说明了html控件在设置为服务器控件时可能会有一些小问题,就像这个一样,其Checked="checked" 已经不起作用了,并且出现错误,有的同学一定会这样说,那为什么不用Checked=true呢?这是问题提的非常好,对于这上按钮他已经成了一个html服务器控件来说这个就要按其是Checked=true;所以这正确的!

 

 

<input id="Radio1" type="radio"  checked=true runat="server" />    //这是正确的

 

<input id="Radio1" checked="checked" type="radio" runat="server" />

原创粉丝点击