如何在Visual Studio 2015中编写多行属性?

时间:2015-11-12 20:54:59

标签: razor visual-studio-2015

Visual Studio 2015的最新版本使我们的整个cshtml标记处于非常脆弱的状态。很多时候,我们的属性值超出了可用的宽度,我们需要将属性分成多行,以使代码更具可读性。

示例:wide data-bind

<div data-bind="someBinding: { hasErrors: bindingObject.HasErrors(duration), hasWarnings: bindingObject.HasWarnings(duration), parameterKey: bindingObject.SelectedObjectKey }, anotherBinding: value, anotherBinding2: value2, AndSoOn: yaddayadda.the.point.is.this.can.get.really.long">

回到VS 2010/2013,如果我们开始将回车符放在属性值中以便将其分解,设计师通常不会再适当地解析html,并且此后的DOM元素将不再有效...例如a破桌子。

因此我们发现通过将属性值封装在@(“...”)中实际上可以让设计人员顺利运行。

示例:使用@()属性绑定

<div data-bind="@("someBinding: { " +
    "hasErrors: bindingObject.HasErrors(duration), " +
    "hasWarnings: bindingObject.HasWarnings(duration), " +
    "parameterKey: bindingObject.SelectedObjectKey }, " +
    "anotherBinding: value, " +
    "anotherBinding2: value2, " + 
    "AndSoOn: yaddayadda.the.point.is.this.can.get.really.long")">

好吧,这里的好消息是IDE甚至可以帮助扩展这个字符串,当页面重新格式化时,它会很高兴并且DOM很好。服务器将采用这个C#字符串并将其渲染为生产中的单行,并且一切都很好......

直到我们升级。 VS2015似乎很讨厌这个,但原因完全不同。现在,它整个事情都是曲折的,工具提示上写着“遗失属性名称”。当页面重新格式化时,它会破坏所有内容......

enter image description here

所以我在这里走在玻璃上。这是某种错误还是有答案,因为我们有一个很大的代码库,不想重构这种属性格式。

思想?

1 个答案:

答案 0 :(得分:2)

Visual Studio 2015 Update 1包含解决此问题的方法。