2

Visual Studio Express For Web 2012 で、剃刀ビューがフォーマットされている場合、フォーマッタは JavaScript 文字列の末尾に余分なスペースを追加します。これにより、無効なデータが渡されます。

フォーマットする前に:

@if (!(Model.Entity is Palk) && Model.Entity.CanInsert && !Model.IsNew())
{
    <input type="button" id="add_grid_top" class='button' value='@I("Lisa")'
        title='@(I("Lisa dokument") + " (Ctrl+N)")'
        onclick="javascript:replaceTab( 'Detail?' +$.param({ _entity:'@Model.FormName',
_vmnr: @Model.Vmnr }))" />
}

Ctrl+KD を押した後:

@if (!(Model.Entity is Palk) && Model.Entity.CanInsert && !Model.IsNew())
{
    <input type="button" id="add_grid_top" class='button' value='@I("Lisa")'
        title='@(I("Lisa dokument") + " (Ctrl+N)")'
        onclick="javascript:replaceTab( 'Detail?' +$.param({ _entity:'@Model.FormName        ',
_vmnr: @Model.Vmnr    }))" />
}

その文字列に注意してください

'@Model.FormName'

にフォーマットされています

'@Model.FormName        '

これにより、無効なデータがコントローラーに渡されます。そのようなフォーマットを無効にする方法は?

ASP.NET MVC3、C#、jquery、および Microsoft Visual Studio Express For Web 2012 が使用されます。

アップデート

私は試した

ツール / オプション / テキスト エディター / HTML / タブの設定を行っても問題は解決しません。

タブ ウィンドウでは、インデントしても動作は変わりません。[タブを保持] を選択すると、FormName の後に 2 つのタブが挿入されます。スペースを挿入を選択した場合、FormName の後に 8 つのスペースが挿入されます。

書式設定タブのいくつかのオプションもオフにしましたが、これにより変更は発生しません。これを修正するには?

Visula Studio のオプション

4

1 に答える 1

-2

オプションに移動し、タブを 4 つのスペースに等しくなるように変更します。タブ文字が問題だと思います。

于 2013-06-09T21:31:58.017 に答える