Используйте взамен ImageButton
.Используйте выбранное или невыбранное изображение с радиокнопкой в качестве ImageUrl
, и поскольку при нажатии кнопки создаются обратные передачи, установите правильное значение ImageUrl
для кнопки, по которой вы щелкнули.Вы получаете все функции кнопки с видом радиокнопки.
- Стоит попробовать
Редактировать
Я подготовил образецкод.Есть два изображения.radioButtonOn.gif и radioButtonOFF.gif.Вот важные части:
Default.aspx
<asp:GridView ID="gvItems" runat="server" AutoGenerateColumns="false"
OnRowCommand="gvItems_RowCommand">
<Columns>
<asp:ButtonField ButtonType="Image" ImageUrl="~/radioButtonOFF.gif" CommandName="ibtnRadio" />
<asp:BoundField HeaderText="Item" DataField="Name" />
</Columns>
</asp:GridView>
Default.aspx.cs
protected void gvItems_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "ibtnRadio")
{
int rowIndex = int.Parse(e.CommandArgument.ToString());
GridViewRow gvr = gvItems.Rows[rowIndex];
ImageButton ib = gvr.Cells[0].Controls[0] as ImageButton;
if (ib != null)
{
ib.ImageUrl = "~/radioButtonOn.gif";
}
}
}
Надеюсь, это поможет вам достичь вашей цели.