Как получить доступ к объявленной переменной в .aspx файле внутри элемента тега ?

#c# #asp.net

#c# #asp.net

Вопрос:

У меня есть код ниже :

 <div class="row">
<%
    foreach (Product product in products)
    {
%>
<div class="col-md-3">
    <asp:LinkButton 
        class="card df gdc aic"
        OnClick="btnDetail_Click"
        ID="btnDetail" 
        runat="server">

        <%= product.Name %>

    </asp:LinkButton>
</div>
<%
    }
%>
  

Код <%= product.Name %> выдает ошибку, в которой говорится, что имя product не существует в текущем контексте.

Как получить доступ к этой product переменной?

Комментарии:

1. Лучше использовать элемент управления Repeater.

Ответ №1:

Вы не сможете сделать это с помощью кнопки LinkButton. Хотя это сработало бы с обычной HTML-ссылкой. Вместо этого вам следует использовать повторитель:

 <asp:Repeater runat="server" ID="productsList">
    <ItemTemplate>
        <div class="col-md-3">
            <asp:LinkButton 
                class="card df gdc aic"
                ID="btnDetail" 
                runat="server"
                Text='<%# Eval("Name") %>'>
            </asp:LinkButton>
        </div>
    </ItemTemplate>
</asp:Repeater>
  
 productsList.DataSource = products;
productsList.DataBind();