Form的DefaultButton属性值设置的问题

    this.form1.DefaultButton = btn.UniqueID;

    请用".UniqueID“,如果用.ID或是.ClientID,都会出现:

    “form1”的 DefaultButton 必须是 IButtonControl 类型的控件的 ID

    错误提示。


    在ASP.NET 的服务器端控件中有三种关于ID 的属性,即 ID, ClientID 和 UniqueID。ID 表示控件的服务器端编程的标识符,我们写服务器端的代码,就要用到这个 ID, 通过这个 ID 可以在服务器端对服务器端控件的属性、方法和时间进行编程访问。ClientID 表示由服务器端生成的客户端控件的ID,  经常用于在客户端脚本中访问服务器控件所呈现的 HTML 元素。一般情况下与服务器端的 ID 相同,有时,不能为控件生成唯一的名称,例如,如果 Repeater 空间在它的某个模板中包含一个 Label 控件,则将在客户端生成多个该 Lable 的 HTML 元素, 为防止命名冲突,ASP.NET 为各个服务器控件生成一个唯一的 ClientID ,ClientID 通过将子控件的父控件的 UniqueID 值与控件的 ID 值连接生成,各个部分之间以下划线 _ 连接。UniqueID 用于获取服务器控件的唯一的、以分层方式表示的标识符。当将控件放置到重复控件(Repeater、DataList和DataGrid)中时,将可能生成多个服务器端的控件,这就需要区分服务器端的各个控件,以使它们的 ID 属性不冲突。UniqueID 通过将子控件的父控件的 UniqueID 值与控件的 ID 值连接生成,各个部分之间以 IdSeparator 属性指定的字符连接。默认情况下, IdSeparator 属性为冒号字符 (:)。

     

ID: btn  用于服务器

ClientID: control_pan_btn 用于客户端 html

UniqueID: control$pan$btn 服务器唯一标识

 

 

    

    

 

你可能感兴趣的:(button)