Zdravím, ve svém projektu jsem se setkal se zvláštní chybou. Když chci použít v CodeBehind název komponenty na stárnce, která je uvnitř FormView, tak to nelze. Název to modře podtrhne a chová se, jako by neexistovla, přitom existuje. Např. toto je EditTemplate FormView
<EditItemTemplate>
<asp:FileUpload runat="server" ID="FileUpload1" /><br />
<asp:Button runat="server" ID="btnSave" OnClick="SaveToTheDatabase" Text="Upload picture" /><br />
<asp:Label ID="Label1" runat="server" Text="Picture will be displayed after you save changes."></asp:Label>
<asp:Label ID="lblMessage" runat="server" EnableViewState="false" ForeColor="Red" />
</EditItemTemplate>
V CodeBehind chci například toto:
lblMessage.Text = "Picture uploaded successsfully !"
Ale jak jsem již psal, komponentu to nenajde. Pravděpodobně se jedná o nějaký bug visual studia. Hledal jsem různá řešení, ale zatím mi nic nepomohlo. Když jsem to chtěl vyřešit takto (našel jsem jako možné řešení), označilo to samotný kód jako špatný:
Label lb = FormView1.FindContro("lblMessage")
Dále jsem zkoušel vymazat VS Cache. Taky neúspěšně. Nevíte někdo, jak tento "bug" opravit?
|