Как я могу динамически создать скомпилированный вид искры? - PullRequest
1 голос
/ 26 октября 2009

Я бы хотел сделать что-то вроде следующего с помощью spark.

<viewdata model="IList[[string]]" />

<for each="var file in Model">
<use import="${file}" />
</for>

Это, однако, не работает, потому что Spark не оценивает ${file} до того, как попытается выполнить импорт. Это имеет смысл, и я подозревал, что это не сработает, но как еще я мог бы сделать что-то подобное?

Примечание. Модель представляет собой список имен файлов.

1 Ответ

0 голосов
/ 26 октября 2009

Вы всегда можете использовать Html.RenderPartial ():

<viewdata model="IList[[string]]" />

<for each="var file in Model">
  <% Html.RenderPartial(file); %>
</for>

Edit:

Я не верю, что есть лучший способ, но если вы действительно не пишете RenderPartial, вы можете сделать это один раз. Вам нужно будет создать _useview.spark:

<viewdata file="string"/>
<% Html.RenderPartial(file); %>

и затем используйте его так:

#var views = new string[] { "View1", "View2" };
<for each="string file in views">
    <useview/>
</for>
...