当前位置: 代码迷 >> ASP.NET >> 怎么根据控件类型找出它对应的ID以及VALUE
  详细解决方案

怎么根据控件类型找出它对应的ID以及VALUE

热度:9101   发布时间:2013-02-25 00:00:00.0
如何根据控件类型找出它对应的ID以及VALUE?
在GridView中,一个单元格内有3个RadioButton(在同一组Group)

当我点击GridView外面一个button的时候想判断这个单元格内哪个RadioButton是选中状态

以下是我的代码

C# code
        foreach (GridViewRow row in GridViewDemo.Rows)        {            if (row.RowType == DataControlRowType.DataRow)            {                foreach(Control obj in row.Controls)                 {                    if (obj.GetType().BaseType.Name.ToUpper().Contains("RADIOBUTTON"))                    {                     }                }            }        }


在最后一个if中却怎么都找不到任意一个RadioButton.请指教什么地方不对了,谢谢.

------解决方案--------------------------------------------------------
用RadioButtonList,然后再遍历看哪个选了
要不就得Findcontrol三次了
------解决方案--------------------------------------------------------
引用楼主 whatwherewhyhow 的帖子:
在GridView中,一个单元格内有3个RadioButton(在同一组Group)

当我点击GridView外面一个button的时候想判断这个单元格内哪个RadioButton是选中状态

以下是我的代码

C# codeforeach(GridViewRow rowinGridViewDemo.Rows)
{if(row.RowType==DataControlRowType.DataRow)
{foreach(Control objinrow.Controls)
{if(obj.GetType().BaseType.Name.ToUpper().Contains("RADIOBUTTON")…

------解决方案--------------------------------------------------------
foreach (GridViewRow row in GridViewDemo.Rows)
{
radiobuttonlist rbl= row.findcontrol("radiobuttonlist1") as radiobuttonlist;
if(rbl!=null)
for(int i=0;i<rbl.items.count;i++)
{
if(rbl.items.selected)
{//剩下的你肯定知道怎么写了}
}
}

------解决方案--------------------------------------------------------
看下这个
Rows 属性(集合)用来存储 GridView 控件中的数据行
Rows.Controls 这个集合中应该是什么呢,想一想吧。
你也说了打印出的是"System.Web.UI.WebControls.DataControlFieldCell"

代码修改为如下
C# code
 foreach (GridViewRow row in GridViewDemo.Rows)        {            if (row.RowType == DataControlRowType.DataRow)            {                RadioButton rb = row.FindControl("控件名称1");                RadioButton rb = row.FindControl("控件名称2");                RadioButton rb = row.FindControl("控件名称3");                //得到三个单选按钮后就可以判断了                //判断代码略...            }        }
------解决方案--------------------------------------------------------
按照lz的意思作了一个,看看是不是这样,我试了可以显示出被选按钮的ID
HTML code
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">        <Columns>                <asp:TemplateField HeaderText="Select" ShowHeader="False">                    <ItemTemplate>                        <asp:RadioButton ID="RadioButton1" runat="server" Text="RadioButton1" GroupName="RadioGroup" />                        <asp:RadioButton ID="RadioButton2" runat="server" Text="RadioButton2" GroupName="RadioGroup" />                        <asp:RadioButton ID="RadioButton3" runat="server" Text="RadioButton3" GroupName="RadioGroup" />                    </ItemTemplate>                </asp:TemplateField>                   <asp:BoundField DataField="insertTime" HeaderText="Time" />                                         </Columns>         </asp:GridView>        <br />        <asp:Button ID="Button2" runat="server" Text="Button" OnClick="Button2_Click" />
  相关解决方案