FindControl im DataList-Bearbeiten-Modus
Als eine neue .net/C# web-begginner, bekomme ich immer Schaden wenn ich versuche, mit FindControl. Blam -flach auf mein Gesicht. Hier ist meine aktuelle FindControl problem:
Habe ich eine .aspx-Seite und der Form, dann ajax updatePanel, drin gibt es meiner DataList (DataList1) , hat eine EditItemTemplate: das hat folgenden Wortlaut:
<EditItemTemplate>
<asp:Label ID="thumbnailUploadLabel" runat="server" text="Upload a new thumbnail image:"/><br />
<asp:FileUpload ID="thumbnailImageUpload" runat="server" />
<asp:Button ID="thunbnailImageUploadButton" runat="server" Text="Upload Now" OnClick="thumbnailUpload"/><br />
</EditItemTemplate>
In meinem C# - code-behind-ich habe den OnClick-code für das fileUpload-Objekt:
protected void thumbnailUpload(object s, EventArgs e)
{
if (thumbnailImageUpload.HasFile)
{
//get name of the file & upload
string imageName = thumbnailImageUpload.FileName;
thumbnailImageUpload.SaveAs(MapPath("../../images/merch_sm/" + imageName));
//let'em know that it worked (or didn't)
thumbnailUploadLabel.Text = "Image " + imageName + "has been uploaded.";
}
else
{
thumbnailUploadLabel.Text = "Please choose a thumbnail image to upload.";
}
Also, natürlich, ich bin immer "der Objektverweis wurde nicht auf eine Instanz eines Objekts" für den FileUpload und das Label.
Was ist die korrekte syntax zu finden, diese Kontrollen, vor dem Umgang mit Ihnen in das OnClick-Ereignis?
Nur so Ive verwendet FindControl ist so etwas wie:
label thumbnailUploadLabel = DataList1.FindControl("thumbnailUploadLabel") als Label;
Aber das ist natürlich werfen die "Object reference not set to an instance of an object" Fehler. Jede Hilfe wird sehr geschätzt.
(Ich habe auch gesehen, das 'recursive' - code aus, dass es machen soll mit FindControl einfacher. Ha! Ich bin so grün in C# , ich weiß gar nicht, wie integrieren Sie diese in mein Projekt.)
Danke an alle, dass Sie einen Blick auf diese.
InformationsquelleAutor Doug | 2009-04-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß, das ist verdammt viel zu spät, aber ich war auf der Suche nach Fragen, die zu beantworten....Sie müssen herausgefunden haben, es jetzt aber noch
wenn Sie fügen Sie diese Zeilen in Ihrem code
so finden Sie das entsprechende Steuerelement für die Zeile, die Sie Bearbeiten,...
halten Sie auch Ihre Datalist aus dem UPdate-Panel beacuse Update-Panels sind nicht kompatibel mit FileUpload. wenn Sie das tun, wird der code ausgeführt, aber es wird immer thumbnailImageUpload.HasFile als Falsch.
InformationsquelleAutor Pankaj Kumar