Click here to Skip to main content
15,868,139 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Hi, this is my ASPX Page
ASP.NET
<asp:Repeater runat="server" ID="rptChilds">
    <ItemTemplate>
        <asp:CheckBox ID="chkc" runat="server" Text="" />
    <br />
    </ItemTemplate>
</asp:Repeater>


i want to check that wich of the checkboxes check, for example by code as this
C#
for (j = 0; j < NumberOfCheckboxes; j++)
                {
                    CheckBox chk = (CheckBox)(rptChilds).FindControl("chkc");
                    if (chk != null)
                    {
                        if (chk.Checked)
                            //do something here
                    }
                    else
                    {
                    //error
                    }
                }


and this is the result:
HTML
Server Error in '/Project' Application.

Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error: 


Line 250:                    {
Line 251:                        CheckBox chk = (CheckBox)(rptChilds).FindControl("chkc");
Line 252:                        if (chk.Checked)
Line 253:                        {
Line 254:                            //your code here

Source File: f:\Documents\    \Projects\MahdZNU\Project\Pages\Image Gallery\showImages.aspx.cs    Line: 252 

Stack Trace: 


[NullReferenceException: Object reference not set to an instance of an object.]
   Pages_Image_Gallery_showImages.insertImageIntoGallery(Object sender, EventArgs e) in f:\Documents\                  \Projects\MahdZNU\Project\Pages\Image Gallery\showImages.aspx.cs:252
   System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +116
   System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +101
   System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +9642898
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724
Posted
Updated 17-Jan-13 1:49am
v2
Comments
Sergey Alexandrovich Kryukov 17-Jan-13 2:17am    
OK, you can check it; you got my approval. :-)
Any questions? :-)
—SA
Shanu2rick 17-Jan-13 2:20am    
Print the value somewhere and see for yourself.
shajarian_lover 17-Jan-13 2:23am    
when I execute this code, it's get into else block (//error)
what can I do?

1 solution

Try this:
C#
foreach (RepeaterItem item in rptChilds.Items)
{
    if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
    {
        CheckBox chk = (CheckBox)(rptChilds).FindControl("chkc");
        if (chk.Checked)
        {
            //your code here
        }
        else
        {
            //your code here
        }
    }
}
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900