2016-07-23 81 views
0

我必須建立一個鏈接元素(),其中包含多個data- *元素(和一個onclick元素),這些元素是動態分配/設置的,具體取決於模型。因此,本質上,鏈接可能沒有data-*元素,直到其中包含X個data元素(取決於模型狀態)。我如何以一種漂亮乾淨的方式實現這一目標?使用Html.Raw(...)與StringBuilder一起收集碎片並將其打印出來似乎對我來說不是一個好方法。ASP.NET MVC Razor:動態構建HTML

其中一個數據元素包含JSON數據。如果解決方案可能包括編碼雙引號等方式,那將是非常好的。

回答

0

其實我覺得你的第一本能很好。只需在後端創建所需的一切。最大的優勢是您可以爲該代碼編寫測試,並確保您所做的實際工作適用於每種情況。這是我的書中的一個重大勝利。

將您的代碼很好地分離到一個類庫中,添加您需要的所有內容。如果你從代碼/ html生成路徑開始,那麼通常你不止要創建一個東西。

+0

我應該更精確地編寫我的方法:在視圖中,我使用的是StringBuilder。我實際上結束了使用TagHelper構建標籤的擴展方法,這種方法非常乾淨。 MergeAttribute-Method非常方便。如果你的回答也指這種方法,那麼它也是可以測試的。 – 0xDECAFBAD