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

Schreibe einen Kommentar