2016-07-23 49 views
0

我必须建立一个链接元素(),其中包含多个data- *元素(和一个onclick元素),这些元素是动态分配/设置的,具体取决于模型。因此,本质上,链接可能没有data-*元素,直到其中包含X个data元素(取决于模型状态)。我如何以一种漂亮干净的方式实现这一目标?使用Html.Raw(...)与StringBuilder一起收集碎片并将其打印出来似乎对我来说不是一个好方法。ASP.NET MVC Razor:动态构建HTML

其中一个数据元素包含JSON数据。如果解决方案可能包括编码双引号等方式,那将是非常好的。

回答

0

其实我觉得你的第一本能很好。只需在后端创建所需的一切。最大的优势是您可以为该代码编写测试,并确保您所做的实际工作适用于每种情况。这是我的书中的一个重大胜利。

将您的代码很好地分离到一个类库中,添加您需要的所有内容。如果你从代码/ html生成路径开始,那么通常你不止要创建一个东西。

+0

我应该更精确地编写我的方法:在视图中,我使用的是StringBuilder。我实际上结束了使用TagHelper构建标签的扩展方法,这种方法非常干净。 MergeAttribute-Method非常方便。如果你的回答也指这种方法,那么它也是可以测试的。 – 0xDECAFBAD