Asp. net c# отображение изображений из папки - PullRequest
0 голосов
/ 08 апреля 2020

У меня был веб-сайт c, в настоящее время я пытаюсь сделать его динамичным c веб-сервером. В нем много изображений. Я называю их простыми html кодами. В то же время к ним применяется множество css и бустрап-кодов. Я не мог понять, как я могу назвать все фотографии в папке и применить мои css, коды бустрапа к ним динамически.

Мои фотографии на моем сайте html хранятся в этих кодах

<div class="galeri-info">
    <div>
        <a href="/Images/resim1.jpeg" data-lightbox="galeri" data-title="App 1" class="link-preview" title="Preview"><i class="ion ion-eye"></i></a>
    </div>
</div>

И это код, который я пытаюсь назвать своими фотографиями. Это работает, я могу вызывать фотографии на сетке данных, но к ним не применяются коды css. Я хочу отсортировать изображения на экране, а не держать их в сетке данных. И используйте мои css предложения, как я делаю в моем html коде.

   protected void Upload(object sender, EventArgs e)
{
    if (FileUpload1.HasFile)
    {
        string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
        FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Images/") + fileName);
        Response.Redirect(Request.Url.AbsoluteUri);
    }
}


protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string[] filePaths = Directory.GetFiles(Server.MapPath("~/Images/"));
        List<ListItem> files = new List<ListItem>();
        foreach (string filePath in filePaths)
        {
            string fileName = Path.GetFileName(filePath);
            files.Add(new ListItem(fileName, "~/Images/" + fileName));
        }
        GridView1.DataSource = files;
        GridView1.DataBind();
    }
}

Это код внешнего интерфейса

<asp:FileUpload ID="FileUpload1" runat="server" /> 
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="Upload" />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" ShowHeader="false">
 <Columns>
    <asp:BoundField DataField="Text" />
    <asp:ImageField DataImageUrlField="Value" ControlStyle-Height="100" ControlStyle-Width="100" />
</Columns>
</asp:GridView>

1 Ответ

1 голос
/ 08 апреля 2020

Используйте DataList вместо GridView, это больше подходит для этого:

<asp:DataList ID="dtlist" runat="server" RepeatDirection="Horizontal">
    <ItemTemplate>
        <asp:Label Text='<%# Eval("Text") %>' runat="server"></asp:Label>
        <asp:Image ImageUrl='<%# Eval("Value") %>' runat="server" Height="100" Width="100" />
        <span>-</span>
    </ItemTemplate>
</asp:DataList>

И вам нужно установить RepeatDirection="Horizontal" для горизонтального отображения изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...