Задний цвет метки, потерянной при обратной передаче при использовании Eval для ее установки

У меня есть сайт данных на моем веб-сайте, и у каждого элемента данных есть метка с задним цветом. Источник данных установлен, и у меня есть метка с backcolor, которая устанавливается из цветового кода в источнике данных:

<asp:DataList runat="server" ID="RptColor" DataSourceID="DSColor" RepeatDirection="Horizontal" RepeatLayout="Table">
    <ItemTemplate>
        <div class="col-md-1">
            <asp:Label runat="server" ID="RpLblColorCode" BackColor='<%# System.Drawing.Color.FromName(Eval("ColorCode").ToString()) %>' Width="20px" Height="20px"></asp:Label>
        </div>
    </ItemTemplate>
</asp:DataList>

проблема в том, что когда я нажимаю кнопку и происходит обратная передача, цвет назад исчезает! ... У меня есть обновленная панель на странице. Помогите мне, пожалуйста

1 ответ

Решение

Использование ColorTranslator.FromHtml вместо Color.FromName, Вы можете изменить свой код на это:

<asp:DataList runat="server" ID="RptColor" DataSourceID="DSColor" RepeatDirection="Horizontal" RepeatLayout="Table">
  <ItemTemplate>
     <asp:Label runat="server"
      ID="RpLblColorCode" BackColor='<%# System.Drawing.ColorTranslator.FromHtml(Eval("ColorCode").ToString()) %>'></asp:Label>
  </ItemTemplate>
</asp:DataList>
Другие вопросы по тегам