[英]Checkbox for images in an ASP.NET repeater controls
我與ASP.NET的工作。 我正在使用中繼器來顯示圖像,並且還為每個圖像使用了復選框。
如何選擇單個圖像並根據圖像ID更新其值?
我的代碼是:
protected void Button3_Click(object sender, EventArgs e)
{
foreach (RepeaterItem ritem in Repeater1.Items)
{
CheckBox btn = ritem.FindControl("CheckBox1") as CheckBox;
if (btn.Checked == true)
{
string chrck = btn.Text;
}
}
}
這是我使用的控件:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<br />
<img ID="ImageZoom" runat="server"
src='<%# DataBinder.Eval(Container.DataItem, "ImageUrl") %>'
style="display: inline; height:auto; left: 0pt; top: 0pt;
width:auto;" />
<asp:CheckBox ID="CheckBox1" runat="server" Enabled="True"
Text='<%# DataBinder.Eval(Container.DataItem, "ImageId") %>'
oncheckedchanged="RepeaterCheckBox_CheckedChanged"/>
</ItemTemplate>
</asp:Repeater>
<br />
<br />
<asp:Button ID="Button1" runat="server" onclick="Button3_Click" Text="Pint" />
但是在C#代碼中,我總是得到IsChecked value = false 。 即使我選中了Checkbox,並且當我單擊品脫按鈕時,我也只會得到false。 我該如何解決? 如果我選中了復選框,則應該返回true。
嘗試使用ItemDataBound
和FindControl
void Repetarer_ItemDataBound(Object Sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
var control = e.Item.FindControl("CheckBox1") as CheckBox;
string result = control.Text;
.....
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.