简体   繁体   English

ASP.NET转发器控件中的图像复选框

[英]Checkbox for images in an ASP.NET repeater controls

I am working with ASP.NET. 我与ASP.NET的工作。 I am using a repeater to display images, and I also am using a check box for each image. 我正在使用中继器来显示图像,并且还为每个图像使用了复选框。

How can I select individual images and update their values as per image id? 如何选择单个图像并根据图像ID更新其值?

My code is: 我的代码是:

 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;
                }
            }
        }

This my control which i have use : 这是我使用的控件:

    <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" />

But in c# code, I am always getting IsChecked value = false . 但是在C#代码中,我总是得到IsChecked value = false Even if I checked Checkbox and also when I click on pint button, I am getting only false . 即使我选中了Checkbox,并且当我单击品脱按钮时,我也只会得到false。 How can I solve this? 我该如何解决? If I checked the checkbox , it should return true. 如果我选中了复选框,则应该返回true。

try with ItemDataBound and FindControl 尝试使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM