2016-07-23 14 views
0

Ich muss ein link Element() mit mehreren data - * Elementen (und einem onclick - Element) aufbauen, die abhängig von einigen Variablen der Variablen dynamisch zugewiesen/gesetzt werden Modell. Also im Wesentlichen die Verbindung kann keine Daten haben - * Elemente bis zu X Daten - * Elemente in/auf (je nach Modellzustand). Wie erreiche ich das auf eine schöne und saubere Art und Weise? Teile zusammen mit einem StringBuilder zu sammeln und mit Html.Raw (...) auszudrucken, scheint mir keine gute Methode zu sein.ASP.NET MVC Razor: Dynamisch HTML aufbauen

Eines der Datenelemente enthält JSON-Daten. Es wäre großartig, wenn die Lösung die Art der Codierung von Anführungszeichen usw. enthalten könnte.

Antwort

0

Eigentlich denke ich, dein erster Instinkt ist gut. Baue einfach alles, was du brauchst, auf der Backend-Seite. Der größte Vorteil besteht darin, dass Sie Tests für diesen Code schreiben können und sicherstellen können, dass das, was Sie tun, tatsächlich für jedes Szenario funktioniert. Es ist ein großer Gewinn in meinem Buch.

haben Sie Ihren Code schön in eine Klassenbibliothek getrennt, fügen Sie alles hinzu, was Sie dazu brauchen. Wenn Sie mit dem Code/HTML-Generierungspfad beginnen, haben Sie normalerweise mehr als eine Sache, die Sie trotzdem erstellen können.

+0

Ich hätte meinen Ansatz genauer schreiben sollen: In der Ansicht habe ich einen StringBuilder verwendet. Ich kam tatsächlich mit dem Ansatz, eine Erweiterungs-Methode für den Aufbau des Tags mit einem TagHelper zu machen, die sehr sauber ist, denke ich. Die MergeAttribute-Methode ist sehr praktisch. Es wäre auch testbar, wie Sie erwähnt haben, wenn Ihre Antwort sich auch auf diesen Ansatz bezieht. – 0xDECAFBAD