Dim chkSelected As HtmlControls.HtmlInputCheckBox

解决方案 »

  1.   

    Dim box As HtmlControls.HtmlInputCheckBox
    你改成c#
      

  2.   

    忘了说:
    这个chceckbox 是在一个Microsoft.Web.UI.WebControls.TreeView的text显示属性中的。
    也就是说其实是想实现权限树,将权限全部按照树型菜单那样排列,当选择了上一级的权限,那么它的叶子权限也全都可以自动选择了。
      

  3.   

    上面各位说的方法都找不到这个checkbox。救命啊!!
      

  4.   

    用遍历试试,看看这段代码能否有帮助
    private void PickUpInput()
    {
    string strRet = "";
    int intCell = 9;
    int intCount = DataGridBase_PO.Items.Count;
    for ( int i = 0; i<intCount; i++ )
    {
    strRet += "|";
    DataGridItem dgItem = DataGridBase_PO.Items[i];
    foreach ( Control ctrl in dgItem.Cells[intCell].Controls )
    {
    if ( ctrl is CheckBox )
    {
    CheckBox cbx = ( CheckBox )ctrl;
    strRet += cbx.Checked.ToString();
    }
    }
    //LabelBase_msg.Text = strRet;
    }}
      

  5.   

    还有一点,你这个最好在client端用javascript实现,这样界面不用刷新,否则写在.cs刷新比较讨厌的。
    <asp:CheckBox id="CB_checkAll" onclick="checkAll('CB_Checked' ,true )" runat="server" Text="Check All"></asp:CheckBox>
    <asp:CheckBox id="CB_checkReverse" onclick="checkReverse('CB_Checked')" runat="server" Text="Reverse Click"></asp:CheckBox>
    <script language=javascript>
    // CheckBox 全部选择 check all
    function cleckAll( sCheckObjId ,bCheckValue )
    {
    var inputs = document.all.tags("input");
    for (var i=0; i < inputs.length; i++)
    {
    if ( inputs[i].type == "checkbox" && inputs[i].id.match( sCheckObjId ) ) 
    inputs[i].checked = bCheckValue;
    }
    }
    // CheckBox 反向选择 reverse check
    function cleckReverse( sCheckObjId )
    {
    var inputs = document.all.tags("input");
    for (var i=0; i < inputs.length; i++)
    {
    if ( inputs[i].type == "checkbox" && inputs[i].id.match( sCheckObjId ) ) 
    inputs[i].checked = !inputs[i].checked;
    }
    }
    </script>
      

  6.   

    还有一点,你这个最好在client端用javascript实现,这样界面不用刷新,否则写在.cs刷新比较讨厌的。
    <asp:CheckBox id="CB_checkAll" onclick="checkAll('CB_Checked' ,true )" runat="server" Text="Check All"></asp:CheckBox>
    <asp:CheckBox id="CB_checkReverse" onclick="checkReverse('CB_Checked')" runat="server" Text="Reverse Click"></asp:CheckBox>
    <script language=javascript>
    // CheckBox 全部选择 check all
    function cleckAll( sCheckObjId ,bCheckValue )
    {
    var inputs = document.all.tags("input");
    for (var i=0; i < inputs.length; i++)
    {
    if ( inputs[i].type == "checkbox" && inputs[i].id.match( sCheckObjId ) ) 
    inputs[i].checked = bCheckValue;
    }
    }
    // CheckBox 反向选择 reverse check
    function cleckReverse( sCheckObjId )
    {
    var inputs = document.all.tags("input");
    for (var i=0; i < inputs.length; i++)
    {
    if ( inputs[i].type == "checkbox" && inputs[i].id.match( sCheckObjId ) ) 
    inputs[i].checked = !inputs[i].checked;
    }
    }
    </script>
      

  7.   

    我现在的做法是生成一棵树,Microsoft.Web.UI.WebControls.TreeView,然后在生成每一个结点的时候使用
    myNode.Text="<input type=checkbox runat=server id=test>";
    来生成一个checkbox,但是在fincontrol的时候找不到这个checkbox,不知道该怎么样才可以得到这个checkbox的checked属性啊,救命!!
      

  8.   

    try to add a checkbox to Page like this:
    CheckBox chk = new CheckBox();
    chk.ID = Text1.Text;
    Page.Controls.Add(chk);then try 
    Page.FindControl("ControlName");
      

  9.   

    生成页面时:
    CheckBox cb = new CheckBox();
    cb.ID = "你起的名字";
    你要加CheckBox的对象.Controls.Add(cb);读的时候:
    Request.Form["你起的名字"] == "on"就是选中了,否则没有
      

  10.   

    动态生成的控件用ID恐怕无法使用,你直接使用控件名
    Dim box As HtmlControls.HtmlInputCheckBox
    然后findcontrol(box)
      

  11.   

    这个递归调用函数能够访问界面上所有的控件,如果你在IE的查看源文件中能考到你要访问的CheckBox的话,用这个函数肯定能找到
    protected void Button_a_clicked()
    {
    VisitSubControls( this.Page );
    }
    private void VisitSubControls( Control parentCtrl )
    {
    //你的处理逻辑 if ( !parentCtrl.HasControls() ) return; int i = 0;
    while ( i < parentCtrl.Controls.Count )
    {
    VisitSubControls( parentCtrl.Controls[i] );
    i ++;
    }
    }
      

  12.   

    asp中可以很好的得到动态生成的东西的信息,asp.net是像delphi这些这样编程,但是反而更加难对动态生成的东西进行处理了。
      

  13.   

    你在.cs文件中用“"<input type=checkbox runat=server id=\""+ text1.text+"\">";”生成控件??这方法能生成控件吗?这成字符串值了不是控件!!
      

  14.   

    在html视图中用<input type=checkbox runat=server id=\""+ <%=text1.text%>+"\">;还差不多。
      

  15.   

    在.cs文件中只能用HtmlInputCheckBox hcb=new HtmlInputCheckBox();这样才能生成对象。
      

  16.   

    这样的方法是不能生成动态控件的。你可以看一下浏览时页面的源代码,会发现服务器控件会全部显示成html的tag形式,而你所谓的动态加的服务器控件显示的是原来的样子,<asp:textbox ...../>,是行不通的。
    我做动态加载控件的时候也碰到这种问题,我需要让控件动态加载并显示在规定的表格里,我最后的解决办法是,先动态加载TableCell,因为TableCell可以定位.
    代码TableCell tc=new TableCell();
        TextBox tb=new TextBox();
        tc.Width=Unit.Percentage(33);
        tc.Height=Unit.Pixel(133);
        tc.Controls.Add(tb);
        ........
    你可以看一下思路,希望有启发!!
      

  17.   

    我现在的做法是生成一棵树,Microsoft.Web.UI.WebControls.TreeView,然后在生成每一个结点的时候使用
    myNode.Text="<input type=checkbox runat=server id=test>";
    来生成一个checkbox,但是在fincontrol的时候找不到这个checkbox,不知道该怎么样才可以得到这个checkbox的checked属性啊,救命!!
    =======================myNode.Checked属性就是这样节点的checkbox的值啊。