3
Je FormView
dans ma page Balisage:Impossible de trouver des contrôles dans FormView.InsertItemTemplate même événement DataBound
<asp:FormView ruanat="server" ID="FormView1" DataSourceID="SqlDataSource1" OnDataBinding="FormView1_DataBinding" OnDataBound="FormView1_DataBound">
<InsertItemTemplate>
<uc:UserControl1 runat="server" ID="ucUserControl1" />
</InsertItemTemplate>
</asp:FormView>
<asp:SqlDataSource runat="server" ID="SqlDataSource1" SelectCommand="EXEC someSP" />
Il est code-behind WAS:
protected void FormView1_DataBound(object sender, EventArgs e)
{
var c = FormView1.FindControl("ucUserControl1"); // returns null
}
DEVENU:
protected void FormView1_DataBinding(object sender, EventArgs e)
{
FormView1.ChangeMode(FormViewMode.Insert);
}
protected void FormView1_DataBound(object sender, EventArgs e)
{
if (FormView1.CurrentMode = FormViewMode.Insert)
{
var c = FormView1.FindControl("ucUserControl1"); // returns null no more!
}
}
En théorie, je suis en mesure de trouver le contrôle sur FormView
après avoir été lié aux données. Mais je ne suis pas. Pourquoi?
J'ai effectué ma réponse à être plus clair – abatishchev
try code mis à jour – Glennular
mon code de mise à jour peut-il être une solution? Ou quel est le meilleur endroit pour changer de mode? 'DataBiding',' DataBound'? – abatishchev