Frage : Formview - System.NullReference Ausnahme, wenn findcontrol verwendet wird

Ich habe eine Formansicht mit einem redigiereneinzelteil, Einsatzeinzelteil und Einzelteilschablonen.  Ich habe eine Gegenstanddatenquelle kodiert, die Ereignis einsetzt, um die Parameter vom formview einzustellen.  Ich erhalte die ungültige Bezugsausnahme mit der Entdeckungsteuermethode des formview.  Ich habe nie alle drei formview Schablonen vorher benutzt.  In der Vergangenheit habe ich ein formview mit einer Standardart des Einsatzes benutzt, um Kontrollen ohne ein Problem zu finden.  Ich wirklich verstehe nicht, warum es die Steuerung nicht finden kann.  Ich benutze das Ajax Steuertoolket, um eine Tabelle zu übertragen.  Unter der ist die Einfügung Ereigniscode und der Preisaufschlag für die Seite.  Alle mögliche Vorschläge sind groß appreciated.

public leeres SI_Inserting (Gegenstandquelle, ObjectDataSourceMethodEventArgs e)
{
//use formview instead

area per informazioni txtIncidentDatei = (area per informazioni) FormView1.FindControl („txtIncidentDatei“);
DropDownList ddlSecurityi = (DropDownList) FormView1.FindControl ( " ddlSecurityi“);
DropDownList ddlFacilityi = (DropDownList) FormView1.FindControl ( " ddlFacilityi“);
DropDownList ddlRatingi = (DropDownList) FormView1.FindControl ( " ddlRatingi“);
DropDownList ddlProgrami = (DropDownList) FormView1.FindControl ( " ddlProgrami“);
DropDownList ddlCategoryi = (DropDownList) FormView1.FindControl ( " ddlCategoryii“);
DropDownList ddlAreai = (DropDownList) FormView1.FindControl ( " ddlAreai " );

e.InputParameters [„socialSecurityNumber“] = „xxxxxx“;
e.InputParameters [„incidentDate“] = txtIncidentDatei.Text.Trim ();
e.InputParameters [„facilityWhereOccurred“] = ddlFacilityi.SelectedItem.Text;
e.InputParameters [„programWhereOccurred“] = ddlProgrami.SelectedValue;
e.InputParameters [„securityLevel“] = ddlSecurityi.SelectedItem.Text;
e.InputParameters [„riskRating“] = ddlRating.SelectedValue;
e.InputParameters [„categoryOfIncident“] = ddlCategoryi.SelectedValue;
e.InputParameters [„narrative“] = txtNarrative1.Text;
e.InputParameters [„incidentYear“] = txtYeari.Text;
e.InputParameters [„dmhId“] = „xxxxxx“;
}

aSource“ OnItemInserted= DataSourceID=/> " FormView1_ItemInserted“ OnItemUpdated= " FormView_ItemUpdated " OnItemDeleted= " FormView_ItemDeleted " DataKeyNames= " RowNum "
>


            Height= " 350px“ Width= " 700px“ ActiveTabIndex= " 0“ >


Main

r>d>
                       
<td>
                    DataSourceID= " SqlDataSource6“ DataTextField= " SecurityLevel“
DataValueField= " SecurityLevel“ SelectedValue='<%# Bindung („SecurityLevel“) %>'>d>
>></tr>d>el ID= " Label5Read“ runat= " Bediener“ Text= " Programm, wo aufgetretenes " >>>>>
                    DataSourceID= " SqlDataSource5“ DataTextField= " WardDescriptions“
DataValueField= " WardDescriptions“ SelectedValue='<%# Bindung („ResidenceArea“) %>'>d>
>
: Aufkleber ID= " Label1Read“ runat= " Bediener“ Text= " Vorfall-Datum: „>
sp: Aufkleber ID= " Label3Read“ runat= " Bediener“ Text= " Sicherheits-Niveau: „>
Label ID= " Label2Read“ runat= " Bediener“ Text= " Anlage, wo aufgetretenes " >>
                    DataSourceID= " SqlDataSource1“ DataTextField= " FacilityDescriptions "
DataValueField= " FacilityDescriptions“ SelectedValue='<%# Bindung („FacilityWhereOccured") %>'>d>
Label ID= " Label4Read“ runat= " Bediener“ Text= " Bewertung des neuen vorbestimmten Verhaltens " >>
                       
DataValueField= " RiskRating“ >

                    DataSourceID= " SqlDataSource2“ DataTextField= " ProgramDescription“
DataValueField= " ProgramDescription“ SelectedValue='<%# Bindung („ProgramWhereOccurred") %>'>d>
Label ID= " Label6Read“ runat= " Bediener“ Text= " Kategorie des Vorfalls: „>d>
                        DataSourceID= " SqlDataSource8“ DataTextField= " SeriousIncident“
DataValueField= " SeriousIncident“ SelectedValue='<%# Bindung („CategoryOfIncident“) %>'>d>
Label ID= " Label7Read“ runat= " Bediener“ Text= " Wohnsitz-Bereich " >
entTemplate><tr valign=top>d>tBox ID= " txtYearRead“ ReadOnly=true runat= " Bediener“ Text='<%# Bindung („IncidentYear“) %>'>r>



Main

r>d>tBox ID= " txtIncidentDate“ runat= " Bediener“ Text='<%# Bindung („IncidentDate“,“ {0: d} ") %>'>>age ID= " Image10“ runat= " Bediener“ ImageUrl= " Calendar_scheduleHS.png“/>
TargetControlID= " txtIncidentDate“ Enabled= " zutreffendes " >
d>><td>
                    DataSourceID= " SqlDataSource6“ DataTextField= " SecurityLevel“
DataValueField= " SecurityLevel“ SelectedValue='<%# Bindung („SecurityLevel“) %>'>d>
>></tr>d>el ID= " Label5“ runat= " Bediener“ Text= " Programm, wo aufgetretenes " >>>>>
                    DataSourceID= " SqlDataSource5“ DataTextField= " WardDescriptions“
DataValueField= " WardDescriptions“ SelectedValue='<%# Bindung („ResidenceArea“) %>'>d>
>
: Aufkleber ID= " Label1“ runat= " Bediener“ Text= " Vorfall-Datum: „>
Label ID= " Label3“ runat= " Bediener“ Text= " Sicherheits-Niveau: „>
Label ID= " Label2“ runat= " Bediener“ Text= " Anlage, wo aufgetretenes " >>
                    DataSourceID= " SqlDataSource1“ DataTextField= " FacilityDescriptions "
DataValueField= " FacilityDescriptions“ SelectedValue='<%# Bindung („FacilityWhereOccured") %>'>d>
Label ID= " Label4“ runat= " Bediener“ Text= " Bewertung des neuen vorbestimmten Verhaltens " >>
                       
DataValueField= " RiskRating“ >

                    DataSourceID= " SqlDataSource2“ DataTextField= " ProgramDescription“
DataValueField= " ProgramDescription“ SelectedValue='<%# Bindung („ProgramWhereOccurred") %>'>d>
Label ID= " Label6“ runat= " Bediener“ Text= " Kategorie des Vorfalls: „>d>
                        DataSourceID= " SqlDataSource8“ DataTextField= " SeriousIncident“
DataValueField= " SeriousIncident“ SelectedValue='<%# Bindung („CategoryOfIncident“) %>'>d>
Label ID= " Label7“ runat= " Bediener“ Text= " Wohnsitz-Bereich " >
entTemplate><tr valign=top>d>tBox ID= " txtYear“ runat= " Bediener“ Text='<%# Bindung („IncidentYear“) %>'>r>



Main

r>d>tBox ID= " txtIncidentDatei“ runat= " Bediener“ Text='<%# Bindung („IncidentDate“,“ {0: d} ") %>'>ge ID= " Image10i“ runat= " Bediener“ ImageUrl= " Calendar_scheduleHS.png“/>
TargetControlID= " txtIncidentDatei“ Enabled= " zutreffendes " >
d>><td>
                    DataSourceID= " SqlDataSource6“ DataTextField= " SecurityLevel“
DataValueField= " SecurityLevel“ SelectedValue='<%# Bindung („SecurityLevel“) %>'>d>
>></tr>d>el ID= " Label5i“ runat= " Bediener“ Text= " Programm, wo aufgetretenes " >>>>>
                    DataSourceID= " SqlDataSource5“ DataTextField= " WardDescriptions“
DataValueField= " WardDescriptions“ SelectedValue='<%# Bindung („ResidenceArea“) %>'>d>
>
: Aufkleber ID= " Label1i“ runat= " Bediener“ Text= " Vorfall-Datum: „>
Label ID= " Label3i“ runat= " Bediener“ Text= " Sicherheits-Niveau: „>
Label ID= " Label2i“ runat= " Bediener“ Text= " Anlage, wo aufgetretenes " >>
                    DataSourceID= " SqlDataSource1“ DataTextField= " FacilityDescriptions "
DataValueField= " FacilityDescriptions“ SelectedValue='<%# Bindung („FacilityWhereOccured") %>'>d>
Label ID= " Label4i“ runat= " Bediener“ Text= " Bewertung des neuen vorbestimmten Verhaltens " >>
                       
DataValueField= " RiskRating“ >

                    DataSourceID= " SqlDataSource2“ DataTextField= " ProgramDescription“
DataValueField= " ProgramDescription“ SelectedValue='<%# Bindung („ProgramWhereOccurred") %>'>d>
Label ID= " Label6i“ runat= " Bediener“ Text= " Kategorie des Vorfalls: „>d>
                        DataSourceID= " SqlDataSource8“ DataTextField= " SeriousIncident“
DataValueField= " SeriousIncident“ SelectedValue='<%# Bindung („CategoryOfIncident“) %>'>d>
Label ID= " Label7i“ runat= " Bediener“ Text= " Wohnsitz-Bereich " >
entTemplate><tr valign=top>d>tBox ID= " txtYeari“ runat= " Bediener“ Text='<%# Bindung („IncidentYear“) %>'>r>

Antwort : Formview - System.NullReference Ausnahme, wenn findcontrol verwendet wird

Hallo,

Die Kontrollen sind vermutlich nicht direkte childcontrols zum formview. Dieses versuchen

 Area per informazioni txtIncidentDatei = FindControlRecursive (FormView1, „txtIncidentDatei“) als area per informazioni;

.
.
.
            allgemeine statische Steuerung FindControlRecursive (Steuerwurzel, Schnuridentifikation) {
                  wenn ((root.ID! = Null) && (root.ID == Identifikation)) Rückholwurzel;

                  foreach (Steuerung Ctrl in der Wurzel. Kontrollen) {
                        Steuern gefunden = FindControlRecursive (Ctrl, Identifikation);
                        wenn (gefunden! = fand Null) Rückkehr;
                  }

                  Rückholnull;
            }


/peter
Weitere Lösungen  
 

programming4us programming4us