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 つのスペースが挿入されます。
書式設定タブのいくつかのオプションもオフにしましたが、これにより変更は発生しません。これを修正するには?