8

ASP.NETMVC3フレームワークでアプリケーションを開発するためにVisualStudio2010Professionalエディションを使用しています。

リテラルのスペース文字が必要な状況に遭遇しました。これは通常 、HTMLに(類似したものを)追加することで実現されます。

ただし、プログラムは実行時エラーを出します。

どうすればこれを克服できますか?

コード:

<div class="week">
    @for (int i = 0; i < 7; i++)
    {
        <div class="day">
            @weekStartDay.ToString().Substring(0, 3)
        </div>            
&nbsp;
       weekStartDay = (DayOfWeek)(((int)weekStartDay + 1) % 7);
    }
</div>

エラー:

c:*** \ Documents \ Visual Studio 2010 \ Projects \ MvcApplication2 \ MvcApplication2 \ Views \ Home \ Calendar.cshtml(22):エラーCS0201:割り当て、呼び出し、インクリメント、デクリメント、および新しいオブジェクト式のみを使用できます。声明

4

4 に答える 4

27

コードを次のように変更します

<div class="week">
    @for (int i = 0; i < 7; i++)
    {
        <div class="day">
            @weekStartDay.ToString().Substring(0, 3)
        </div>            
       @:&nbsp;
       weekStartDay = (DayOfWeek)(((int)weekStartDay + 1) % 7);
    }
</div>

@:Razorビューエンジン&nbsp;がプレーンテキストであることを示します

于 2012-12-10T07:26:08.877 に答える
3

Visual Studio 2012でこのコードを見ると、まったく同じエラーメッセージが表示されます。に下線が引かれ、ツールチップにこのメッセージが表示されます。

問題は、コードブロック内にいることです@{ }。プレーンテキストを出力する場合は、次のようにHTML要素でラップする必要があります。

<span>&nbsp;</span>

またはあなたが使用する必要があります

@:&nbsp;
于 2012-12-10T07:27:42.060 に答える
2

&nbspの前にadd @:を使用するだけです

于 2015-11-16T15:08:24.060 に答える
0

ドロップダウンリスト内のすべてのリストアイテムについて、リストアイテムの値を次のように置き換える必要があります。 .Replace(" ", "\u00A0")

例えば:


コントローラーで

 var Listval =(from u in yourtablename select u.YourColumnName.Replace(" ", "\u00A0")).Distinct().ToList();
  ViewBag.DDlVals= new SelectList(Listval);

ビューページで

@Html.DropDownListFor(model => model.YourColumnName, (SelectList)ViewBag.DDlVals, "--Select--", new { @class = "form-control" })
于 2018-05-30T10:48:43.147 に答える