似乎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>
如何从代码隐藏文件中选中复选框?
答案 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;