Como posso dinamicamente criar uma visão faísca compilado?
-
06-07-2019 - |
Pergunta
Eu gostaria de fazer algo como o seguinte com faísca.
<viewdata model="IList[[string]]" />
<for each="var file in Model">
<use import="${file}" />
</for>
Este, porém, não funciona porque faísca não está avaliando a ${file}
antes de tentar a importação. Isso faz sentido e eu suspeito que não iria funcionar, mas que outra forma eu poderia fazer algo parecido com isso.
Nota:. O modelo é uma lista de nomes de arquivo
Solução
Você sempre pode usar Html.RenderPartial ():
<viewdata model="IList[[string]]" />
<for each="var file in Model">
<% Html.RenderPartial(file); %>
</for>
Editar:
Eu não acredito que é muito melhor forma, mas se você realmente não escrever RenderPartial, você pode fazê-lo uma vez. Você terá que criar _useview.spark:
<viewdata file="string"/>
<% Html.RenderPartial(file); %>
e, em seguida, usá-lo assim:
#var views = new string[] { "View1", "View2" };
<for each="string file in views">
<useview/>
</for>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow