在 Visual Studio Express For Web 2012 中,如果 razor 视图已格式化,格式化程序会在 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 之后插入两个选项卡。如果选择插入空格,则在 FormName 之后插入 8 个空格。
我还取消了格式选项卡中的一些选项,但这不会导致任何更改。如何解决这个问题?