2017-07-19 5 views
0

私のコントローラ&を参照してください。ここでは、私のビューにViewBagを使用していくつかの行と単一の列を渡しています。だから私はforeachを使って値を表示する必要があった。私は文字列として単一の行の値がほしいと思ってforeachを使用せずにビューから表示したい。 foreachをせずに簡単な文字列を私の視点に戻す方法を教えてください。単一レコードを取得し、表示するためにプレーンストリングを返します

マイコントローラー:

ViewBag.SearchedUsersTable = ctx.SearchedUsers.Where(x => x.SearchedUserID == SearchedUserID.SearchedUserID).ToList(); 

マイビュー:

@if (ViewBag.SearchedUsersTable != null) 
{ 
    foreach (var item in ViewBag.SearchedUsersTable) 
{ 
    @item.EbayUsername; 
} 
} 
+2

? –

+0

平均使用モデルを見ていますか? –

+0

はい。検索したユーザーのリストがあるためです。 –

答えて

0

あなたが持っているコレクションにFirstOrDefaultメソッドを使用することができます。

@if (ViewBag.SearchedUsersTable != null) 
{ 
    var user= (ViewBag.SearchedUsersTable as List<SearchedUser>..FirstOrDefault(); 
    if (user != null) 
    { 
    <p>@user.EbayUsername</p> 
    }  
} 

しかしあなたが実際ビューでのみの項目(行)が必要な場合、私は強くビューからだけのことを渡すことをお勧めします。アクションメソッドのすべてのレコードを照会するのはなぜですか?あなたがモデルを使用していないのはなぜ

ViewBag.SingleUserName= ctx.SearchedUsers 
          .Where(x => x.SearchedUserID == SearchedUserID.SearchedUserID) 
          .Select(s=>s.EbayUsername) 
          .FirstOrDefault(); 

とビューで

<p>@ViewBag.SingleUserName</p> 
+0

コントローラがToList()をさらにいくつかの行に戻しています。私は "EbayUsername"と呼ばれるものから単一の値だけを表示しなければならない –

+0

単一の行を表示するか、複数の行を単一の列で表示したいですか?あなたの現在のコードは後で行います。 – Shyju

+0

ありがとうございました。 –

関連する問題