ASP.NET 后台动态添加控件checkbox

      C#WEB开发中,在后台为前台页面根据需要去添加控件是很常见的操作。以添加checkbox 为例来分析这个操作的步骤。

  首先前台页面中要有存放后台添加的控件,一般会用<asp:literal />这个标签(Lable标签也可以),所以先在页面中创建<asp:literal />。

  后台首先要获取<asp:literal />的ID,一般情况下是Page.FindControl(控件ID) AS Literal ,但是当你用到模板页时,则这个就不能获取到特定控件(原因可以到MSDN上看一下),而是用

 Page.Master.FindControl(ContentPlaceHolderID).FindControl(控件ID) AS Literal

其中ContentPlaceHolderID是引用模板页的ContentPlaceHolderID的值。

  获取到载体控件的ID后,就可以在里写入checkbox 的html 了,具体写法根据自己的需求。

tempLiteral.Text  = string.Format("<input type=checkbox id='flowPara_{0}' name='flowPara_{0}' value={2} {1} />", 参数0, 参数1,参数2);

参数还可以再加,比如显示时某个checkbox 是选定状态,但又不能被选择,则可以用下面的方法控制:

tempLiteral.Text = string.Format("<input type=checkbox id='flowPara_{0}' name='flowPara_{0}' οnclick='this.checked=true' value={2}  {1} />", i - 5, "checked", "");

     

      如果想在JS中全选或全否来操作后台添加的Checkbox , 也完全可以,JS全码如下:

<input type="checkbox" id="selectALL" name="selectALL" οnclick="javascript:checkAll(this)" runat="server" />全选

 

  function checkAll(check){
           var a = document.getElementsByTagName("input");
           for (var i=0; i<a.length; i++)
           {
                if (a[i].type == "checkbox" && a[i].name.substring(0,9) == "flowPara_")
                {
                    a[i].checked = !check.checked;
                    a[i].click();
                }
           }
        }


用这种方式可以添加你所需要的控件,原理简单,操作也方便,比如根据条件显示图片啦,变色啦,太多种应用。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值