从代码隐藏文件中检查CheckBoxField

时间:2013-05-17 15:22:41

标签: c# asp.net .net

似乎CheckBoxField不接受ID属性,因此我无法直接调用代码隐藏文件中的组件。

<asp:DetailsView ID="dv" runat="server" AutoGenerateRows="False" 
    DataKeyNames="ID" DataSourceID="ds" DefaultMode="Insert" 
    OnItemInserting="dv_ItemInserting" OnItemInserted="dv_ItemInserted"
    OnItemUpdated="dv_ItemUpdated" OnItemCommand="dv_ItemCommand" 
    EnableModelValidation="True">
    <Fields>
        <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="false" ReadOnly="True" SortExpression="ID" />
        <asp:CheckBoxField ID="chkMidmarket" DataField="Midmarket_Flag" HeaderText="Midmarket" SortExpression="Midmarket_Flag" runat="server" />
        ...
    </Fields>
</asp:DetailsView>

如何从代码隐藏文件中选中复选框?

2 个答案:

答案 0 :(得分:2)

在syour设计视图中,转到gridview编辑列并选择列,然后单击“转换为模板字段”

    <asp:TemplateField HeaderText="Midmarket" SortExpression="Midmarket_Flag">
        <ItemTemplate>
            <asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged ="CheckBox_CheckedChanged"
                Checked='<%# Bind("Midmarket_Flag") %>' Enabled="false" />
        </ItemTemplate>
    </asp:TemplateField>

现在您可以添加上面的点击事件和您的活动,如下所示

protected void CheckBox_CheckedChanged(object sender, EventArgs e)
{
    try
    {
        CheckBox cb = sender as CheckBox;
        GridViewRow gr = cb.Parent.Parent as GridViewRow;
        string key = GridView1.DataKeys[gr.DataItemIndex].Value.ToString();
    }
    catch (Exception exc)
    {
    }
}

答案 1 :(得分:1)

使用

<asp:CheckBox ID="youid" runat="server" />

这样你就可以从后面的代码中访问它了

youid.Checked = true;