2017-08-15 7 views
-1

数字のセットをループしてスコアカードに表示しようとしています。コードをステップ実行すると、変数が正しい値を返します。表示することができません。C#/ Linqで剃刀のforループ内に変数を表示しようとしています

@foreach (var g in Model) 
    { 
     @Html.Raw(string.Format("<tr>")) 
      int grossScore = 0; 

      @Html.Raw(string.Format("<td>{0}</td>", g.PlayerName)) 
     for (int s = 0; s < 18; s++) 
     { 
      @Html.Raw(string.Format("<td>")); 

      int holescore = 0; 
      var bretak = @g.Scores.Take(1).Skip(s).FirstOrDefault(); 
      var werwee = @g.Scores.Where(b => b.Hole == s + 1).Select(i => i.Score).FirstOrDefault(); 
      //if (bretak.Score > 0) 
      //{ 
      // holescore = bretak.Score; 
      //} 

      holescore = werwee; 

      Html.Raw(string.Format("{0}", holescore)); 
      //@Html.ToString(holescore); 
      //Html.Raw(holescore); 
      @Html.Raw(string.Format("<td>" + @holescore + "</td>")); 
      grossScore = grossScore + holescore; 

      @Html.Raw(string.Format("</td>")); 
     } 
      @Html.Raw(string.Format("<td>{0}</td>", grossScore)) 

      @Html.Raw(string.Format("<td align=\"center\"> <button type=\"button\" class=\"btn btn-default btn-xs editBtn\" data-player-id=\"'{0}'\">Edit </button></td>", g.GameId)) 
      @Html.Raw(string.Format("<td> <button type=\"button\" class=\"btn btn-default btn-xs deleteBtn\" data-player-id=\"'{0}'\">Delete </button></td>", g.GameId)) 
     @Html.Raw("</tr>") 
    } 

プレーヤー名が正しく表示され、grossscore変数が正しく計算されて表示されます。私はループ内から正しい数のボックスを取得しますが、holescoreは表示されません。申し訳ありませんが、少しばかり見えるかもしれませんが、私は試したことのいくつかを示すためにコードのいくつかを残しました。私はあなたがhtml.Rawを誤解していると思う

+0

の先頭に@を追加してください。この文をしようとしたか、そのわずかの情報

@Html.Raw(string.Format("<td>" + @holescore + "</td>")); 

ためscore.Haveを表示している必要がありますholescoreは 'holescore = werwee;によって設定されるので、' werwee'が 'ヌル 'でないことを確認してください。 – CodeNotFound

+0

4番目のホールの後はヌルですが、ホール1-4はすべて有効なデータを持っています。 –

+0

それを表示するには、 ' @holescore'を使用してください。 – CodeNotFound

答えて

1

が、それはHTML文字列に文字列をデコードするために使用されて、いない出力するため、出力のためにあなたは、単に ので、代わりにこの

@Html.Raw(string.Format("<td>" + @holescore + "</td>")); 

のようなものを入力するだけで、この

を使用
<td> @holescore</td> 

私はあなたが私はあなたが上記のコードに基づいていなかったと仮定して鮮明な画像を得るためにthisを通過示唆しています。

+0

ありがとうございます。あなたのコードも動作しますが、私が上で述べたのと同じことをします。私のウェブサイトは、私がデバッグを押すとロードされません。それは私がを打つまで来て、働くまでそれは空白の画面上に座るでしょう。​​の面白いことは、 "要素 'td'は要素 'table'の中に入れ子にすることができないという不規則な線があることです。td要素はテーブル内のデータセルを表します。なぜそれがそれをするだろうか? –

+0

あなたはhtml.rawを削除する必要があります、それは不要です、私はあなたがそのメッセージを取得しているあなたのtrのタグがないと思う。あなたの ''タグを再確認してください – Munzer

0

あなたのコードを見た後のChrisは、@ at startが必要です。

Html.Raw(string.Format("{0}", holescore)); 

しかし、ステートメントの下には、あなたが `ステートメントの上に使用したり、最初の文

関連する問題