Изображение не отображается ASP.NET (универсальный handler.ashx)

К сожалению, я не могу отобразить свое изображение, используя repater и общий обработчик, который я назвал ImageHandler.ashx, возможно, я делаю что-то не так, и я не могу обнаружить ошибку самостоятельно.

Вот мой код (кстати, я впервые использую этот универсальный обработчик в сочетании с повторителем для получения своих изображений из баз данных, и я застрял здесь).

Вот мой код:

<table class="table table-hover" style="margin-top: 50px; background-color: white;">
<tr>
    <th>Name</th>
    <th>Last Name</th>
    <th>Photo</th>
</tr>
<asp:Repeater ID="repPlayers" runat="server" OnItemCommand="repPlayers_ItemCommand">
    <ItemTemplate>
        <tr>

            <td><%# Eval("Name") %></td>
            <td><%# Eval("LastName") %></td>
            <td>
                <asp:Image ID="imageTest" src="~/ImageHandler.ashx?id=PlayerID" runat="server" />
                <%--<img id="imageTest" style="width: 60px; height: 30px;" src="data:image/png;base64, <%# Convert.ToBase64String((byte[])Eval("Photo")) %> " />--%>
            </td>

        </tr>
    </ItemTemplate>
</asp:Repeater>

ImageHandler.ashx КОД ЗА СОБОЙ:

public class ImageHandler : IHttpHandler
 {
    public void ProcessRequest(HttpContext context)
    {

        int playerID = Convert.ToInt32(context.Request["PlayerID"]);
        Players.Data.DataAccess player = Players.Data.DataAccess.GetByPlayerId(playerID);
        context.Response.ContentType = "image/jpeg";
        context.Response.BinaryWrite(player.Photo);
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}

Вероятно, я делаю что-то не так, может быть, я должен объединить '<%#Eval("PlayerID")%>' так или иначе? Если бы я использовал сетку данных, я бы использовал элемент управления Item_dataBound, и это могло бы решить мою проблему, но, к сожалению, я загружаю свои данные здесь в таблицу, и я не знаю, как решить эту проблему..

редактировать: я пробовал это тоже, и это было решение: <asp:Image ID="imageTest" runat="server" ImageUrl='<%#"~/ImageHandler.ashx?PlayerID="+Eval("PlayerID") %>' />

PS Комментированный код работает, но он загружает изображения медленно, как ад, и это заставляет мою целую страницу загружаться очень медленно, потому что я получаю около 50 объектов из базы данных, и у каждого из них есть изображение:(

ПОТОМУ ЧТО Я РАЗМЕЩАЛ ВЫШЕ, ЧТО БЫЛО РЕШЕНИЕ, МЫ МОЖЕМ УГРОЗИТЬ ЭТО, КАК ЗАКРЫТО

1 ответ

// Вот что я отредактировал, чтобы это работало:

<td>
    <asp:Image ID="imageTest" runat="server" style="width: 60px; height: 30px;"
       ImageUrl='<%#"~/ImageHandler.ashx?PlayerID="+Eval("PlayerID") %>' />
</td>
Другие вопросы по тегам