Raja Ganapathy Ответов: 1

Как изменить кнопку на кнопку изображения в зависимости от загрузки ?


Я использую ретранслятор для привязки таблицы данных внутри ретранслятора я хочу использовать два кнопочных средства на основе одного столбца в таблице данных

если в столбце есть значение 'N', то используется кнопка asp-это другое значение, которое приходит с помощью кнопки image, как это сделать.
<% if ((Session["REVIEW_IND"].ToString() == "N"))
                                       { %>
<asp:Button ID="Review" runat="server" Text="REVIEW" OnClick="Review_click" ToolTip="Review" />
                                <%}
else if (Session["REVIEW_IND"].ToString() == "N")
                                       { %>
<asp:ImageButton ID="Review1" runat="server" Text="REVIEW" />
                                <% }  %></td>


Что я уже пробовал:

<% if ((Session["REVIEW_IND"].ToString() == "N"))
                                       { %>
<asp:Button ID="Review" runat="server" Text="REVIEW" OnClick="Review_click" ToolTip="Review" />
                                <%}
else if (Session["REVIEW_IND"].ToString() == "N")
                                       { %>
<asp:ImageButton ID="Review1" runat="server" Text="REVIEW" />
                                <% }  %></td>

1 Ответов

Рейтинг:
6

Richard Deeming

Если вы хотите прочитать значение из источника данных, то вам нужно прочитать его из источника данных. Ваш код пытается прочитать значение из сеанса, который не имеет никакого отношения к источнику данных.

Исследуя сессию в ASP.NET[^]

Как ваш if и else if ветви имеют тот же тест. Если значение равно "N", то будет показана кнопка. Если значение что-то еще, ничего будет показано.

Также, то ImageButton контроль[^] не имеет публичного Text свойство, поэтому ваша текущая разметка не будет работать.

Когда вы хотите отобразить один из нескольких наборов контента в зависимости от условия, самый простой выбор, вероятно, заключается в использовании то MultiView контроль[^]:

<asp:MultiView runat="server" 
    ActiveViewIndex='<%# Eval("REVIEW_IND", "{0}") == "N" ? 0 :1 %>'
>
<asp:View runat="server">
    <asp:Button ID="Review" runat="server" 
        Text="REVIEW" 
        ToolTip="Review" 
        OnClick="Review_click" 
    />
</asp:View>
<asp:View runat="server">
    <asp:ImageButton ID="Review1" runat="server" 
        ImageUrl="..." 
        AlternateText="REVIEW" 
    />
</asp:View>
</asp:MultiView>


Raja Ganapathy

Спасибо @Ричард считая