【问题标题】:C# view - font colorC# 视图 - 字体颜色
【发布时间】:2014-08-04 18:28:32
【问题描述】:

我有一个显示来自数据库/表的数据的视图。如果该字段是某个值,我希望该实例显示为具有红色文本。我已经尝试过了,不幸的是我认为 foreach 循环(我需要)正在引起问题。具体来说,它使所有文本变为红色,而不仅仅是我想要的实例。

 <tbody>
          @foreach (var item in Model)
    {      
        var T2stat = @Html.DisplayFor(modelItem => item.T2STATUS).ToString();
        var T3stat = @Html.DisplayFor(modelItem => item.T3STATUS).ToString();     
        <tr>                                               
        <td>
            @Html.DisplayFor(modelItem => item.EXPORT_DATE)
        </td>
            @if ((T2stat != "") && (T2stat != "Exported")) {
                <td><p style="color:red">
            @Html.DisplayFor(modelItem => item.T2STATUS)
        </p></td>
            }
            else{
                <td><p style="color:black">
              @Html.DisplayFor(modelItem => item.T2STATUS)
                    </p></td>  
            }                               
         @if ((T3stat != "") && (T3stat != "Exported")) {
                <td><p style="color:red">
            @Html.DisplayFor(modelItem => item.T3STATUS)
        </p></td>
            }
            else{
                <td><p style="color:black">
              @Html.DisplayFor(modelItem => item.T3STATUS)
                   </p></td>  
            }                               

我将变量定义改为....

 var T2stat = (item.T2STATUS != null) ? item.T2STATUS.ToString() : String.Empty;
 var T3stat = (item.T3STATUS != null) ? item.T3STATUS.ToString() : String.Empty; 

不幸的是,我仍然遇到同样的问题,尽管我将黑色指定为文本颜色,但值仍显示为红色。 IE; “Exported”应始终显示为黑色文本,null 也为黑色,但它是红色的,应仅用于错误消息。

【问题讨论】:

    标签: c# sql razor view


    【解决方案1】:

    我认为您的问题在于这些作业:

    var T2stat = @Html.DisplayFor(modelItem => item.T2STATUS).ToString();
    var T3stat = @Html.DisplayFor(modelItem => item.T3STATUS).ToString();     
    

    这将为这些变量分配显示模板的渲染值,而不是数据值。

    也许你是这个意思?

    var T2stat = (item.T2STATUS != null) ? item.T2STATUS.ToString() : String.Empty;
    var T3stat = (item.T3STATUS != null) ? item.T3STATUS.ToString() : String.Empty;     
    

    【讨论】:

      【解决方案2】:

      试试这个....

      <tbody>
          @foreach (var item in Model)
          {   
              <tr>
                  <td>
                      @Html.DisplayFor(modelItem => item.EXPORT_DATE)
                  </td>
      
                  <td>
                      <p  @((item.T2STATUS == null) || (item.T2STATUS == "Exported") ? "style=\"color:black;\"" : "style=\"color:red;\"")>
                          @Html.DisplayFor(modelItem => item.T2STATUS)
                      </p>
                  </td>
      
                  <td>
                      <p @((item.T3STATUS == null) || (item.T3STATUS == "Exported") ? "style=\"color:black;\"" : "style=\"color:red;\"")>
                          @Html.DisplayFor(modelItem => item.T3STATUS)
                      </p>
                  </td>
              </tr>
          }
      </tbody>
      

      如果您需要其他任何东西,请告诉我...否则这不起作用.. :)

      【讨论】:

      • 所有文本现在都是黑色的,已经实现了您的解决方案。嗯。
      • 检查我写的条件...是否符合您的条件...我写了&&条件...
      • 有 3 个可能的条目。已导出(黑色)、空值或错误消息(红色) 导出失败:文件“C:\BillingExport\BILLING_TABLE_FILE02.txt”尚未导入。我希望除错误消息条目之外的所有内容都显示为黑色。
      • 因此您可以根据您想要的 o/p 编辑条件...使用条目编辑问题...
      • 还是没有解决问题,应该是and。它被绊倒的部分是? "style=\"color:red;\"" : "style=\"color:black;\"")。
      猜你喜欢
      • 1970-01-01
      • 2017-04-17
      • 1970-01-01
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      • 2013-01-04
      • 2011-04-27
      • 1970-01-01
      相关资源
      最近更新 更多