none
How can I get the image object reference RRS feed

  • Frage

  • There are 6 Image asp.net object on the page

    string[] savedFiles=Directory.GetFiles(....Path....)

    for(int i=0; i<savedFiles.Length; i++)

    {

        image+i (i. th image) =savedFiles[i];  // How can I do this

    }

    Montag, 11. Januar 2016 19:36

Alle Antworten

  • Hi,

    Du postest im deutschsprachigen Forum, daher antworte ich auch mal auf Deutsch.

    Anstelle 6 fest vorgegebener Image Controls solltest Du diese eher dynamisch erzeugen und in ein Container Control, bspw. einen Repeater, ... einfügen.

    <asp:Repeater ID="ImageRepeater" runat="server">
        <ItemTemplate>
            <asp:Image runat="server" ImageUrl='<%# String.Format( "~/Images/{0}", Container.DataItem ) %>' />
        </ItemTemplate>
    </asp:Repeater>

    Für das obige Beispiel kannst Du dein Array einfach als DataSource des Repeaters angeben:

    ImageRepeater.DataSource = savedFiles;
    ImageRepeater.DataBind();

    Wenn Du das nicht so machen willst, kannst Du deine Image Controls auch per <Container>.FindControl( "<IdDesControls>" ) suchen.

    Image imageControl = (Image)<ContainerControl>.FindControl( String.Format( "ImageControl{0}", i.ToString() ) );
    imageControl.ImageUrl = String.Format( "~/Images/{0}", savedFiles[i] );

    Ich würde aber dennoch empfehlen, die Controls dynamisch zu erzeugen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Montag, 11. Januar 2016 21:37
    Moderator