2017-07-04 9 views
-1

true/falseのbool結果ではなくyes/noを表示して、ユーザーにとって読みやすくする方法を見つけようとしています。boolの代わりにyes/noを表示C#

私は、C#とVisual Studio 2015を使用していると私は見てとっているとstackoverflowの herehereにここで注目技術のいくつかを適用してみてください。

私は持っているクエリを解決する最も良い方法はわかりません。一言で言えば、私はビットのデータ型(例えば、A、B & C)を持つ3列を保持するデータベーステーブルを持っています。この表は、エンティティフレームワークをMVCプロジェクトに使用して得られたものです。

このテーブルに関連付けられたモデルは、これらの列をboolとして保持します。私はこのテーブルを使用してデータベース内のアイテムを一覧表示しますが、これらのアイテムの結果はTrue/Falseを表示します(下の図を参照)。

Screen Shot of results

私は、このタスクを完了するために私のカミソリのコードを変更しようとしましたが、失敗しています。

@item.AttachmentA.isTrue?"Yes":"No") 

そして私はまた、上記の両方のために

@Html.DisplayFor(modelItem => item.AttachmentA.isTrue?"Yes":"No") 

これを試してみましたが、私は '可能System.Nullable' の定義が含まれていない、

を述べてコンパイルエラーを取得しています'isTrue'と 'System.Nullable'型の最初の引数を受け入れる拡張メソッド 'isTrue'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありません)

私は非常に上記の作業を得ることはできません。これを完了するために私のコントローラーでifステートメントを完了することはできますか?

私は次のコードのようなものでこれを完了しようとしましたが、これはうまくいかないようです。

// GET: View for ACTIVE items and set status of the bool for true/false 
public ActionResult Active() 
{ 
    List<vwStatusActive> clientRecordsActive = db.vwStatusActives.ToList(); 

    foreach (vwStatusActive active in clientRecordsActive) 
    { 
     if (vwStatusActive == true) 
     { 
      vwStatusActive = 'Yes'; 
     } 
     else 
     { 
      vwStatusActive = 'No'; 
     } 
    } 

    return View(clientRecordsActive); 
} 

コントローラの上記のif文を変更して、boolの変数をtrue/falseにするように変更しました。

 // GET: View for ACTIVE items and set status of the bool for true/false 
    public ActionResult Active() 
    { 
     List<vwStatusActive> clientRecordsActive = db.vwStatusActives.ToList(); 


     bool t = true; 
     bool f = false; 

     foreach (vwStatusActive active in clientRecordsActive) 
     { 
      if (t == true) 
      { 
       t = "Yes"; 
      } 
      else 
      { 
       t = "No"; 
      } 

     } 

     return View(clientRecordsActive); 
    } 

私は今、しかし、 "はい"、 "いいえ" という状態の文字列項目の2つのエラー、

暗黙的にブール」にタイプ 'string' を変換できません

た場合の取得誰でもベストプラクティスに関する提案がありますが、アドバイスをお願いしますか?

+1

こんにちは!実際のコンパイラエラー/ランタイムエラーで '動作しません'を置き換えて、質問を編集できますか?ありがとう! – Baldrick

+0

タイプに値を割り当てようとしています。とにかくコードとエラーがもう少しあると、問題に集中するのに役立ちます。レンダリングされた文字列を格納する変数はどこにありますか? – SteakOverflow

+0

ドロップダウンの表示値を変更するには、ここの例を参照してください。https://stackoverflow.com/a/9517695/1489570 – MalvEarp

答えて

1

AttachmentAプロパティは、その後、@

を使用するbool型である場合(item.AttachmentA "はい":? "いいえ")

OR

{VARのisAttachmentA =(アイテム@。 AttachmentA? "Yes": "No");} @Html。DisplayFor(modelItem => isAttachmentA)

AttachmentAプロパティの型がboolの場合、 (NULL可能ブール値)、その後、@

を使用(item.AttachmentA.GetValueOrDefault() "はい":? "いいえ")

OR {VARのisAttachmentA = @

(item.AttachmentA.GetValueOrDefault( )? "Yes": "No");} @ Html.DisplayFor(modelItem => isAttachmentA)

関連する問題