使用Attributes.Add(event,fun)方法为服务器控件动态添加属性【鸡蛋】

来源:互联网 发布:c net编程 编辑:程序博客网 时间:2024/04/30 05:14

   1、在前台用JS写的脚本方法,除了可以直接用在前台控件的属性中,还可以在后台运用。

       即在后台页面加载时,调用JS方法。语法格式有两种,如下:

       第一种写法:控件ID名.Attributes.Add(“事件名称”,“JS方法”);

      如:一个按钮控件Button1.Attributes.Add(“onclick”,“return confirm('确认?')”);

       另一写法:控件ID名.Attributes["事件名称"]=“JS方法";

       如:前台写了一个JS方法: function ISCheck(){。。。。。。};

            Button1.Attributes[“onclick”]="ISCheck()";

     另外还可以控制某一个文本框的属性,比如文本框的大小,宽度等。

        如:TextBox1.Attributes.Add(“width”,“80px”);

2.为前台元素添加样式:

前台html代码:<div id="trUpdateDeptUsers"  runat="server" style="color:red; ">1111</div>

        后台c#代码:this.trUpdateDeptUsers.Style.Add("display", "none");

3、为前台div添加内容或文本或样式

前台代码:

  <div id="mes" runat="server">      </div>

cs代码:

            string ms = "id是:" + id;            ms += "name是:" + name;              this.mes.InnerHtml=ms;//将html添加到mes元素里            this.mes.Style.Add("color""red");//为mes元素添加样式



4、补充一点,在使用js获取用户控件中服务器控件的id时,使用正常的方式$("#id")是获取不到的,除非在用户控件中你使用的全是HTML控件

方法1:

比如你在A用户控件中有个服务器控件 你在A页面中加一个隐藏域
<input type="hidden" value="<%=control.ClientID%> " id="onlyGetID" />

在B用户控件中或者页面上用jQuery获取
var id = $("#onlyGetID").val();
var obj = $("#"+id); //你要的对象

其实就是将用户控件的名字取出来,加上服务器控件的id  $(用户控件的id+服务器控件的id)

方法2:直接用户控件id+控件id,如我的用户控件名在页面中为uc1,控件为drp1
document.getElementById('uc1_drp1')