如何避免格式化剃刀视图时的字符串损坏

时间:2013-06-09 21:23:15

标签: c# asp.net-mvc-3 visual-studio razor code-formatting

在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 + K D后:

@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 /标签设置,但问题仍然存在。

在标签窗口中缩进不会改变行为。 如果选择了Keep tabs,则在FormName之后插入两个选项卡。 如果选择了“插入空格”,则在FormName之后插入8个空格。

我在格式化选项卡中也取消选中了一些选项,但这不会导致任何更改。 如何解决这个问题?

Visula Studio options

1 个答案:

答案 0 :(得分:-2)

进入选项并将标签更改为等于4个空格。我相信标签字符是你的问题。