2015-04-06 2 views
1

Я хотел бы, чтобы встроить SVG прямо в мой взгляд ASP.net MVC-так, что вывод выглядит примерно так:Встраивание SVG в ASP.net странице

<html> 
    <body> 
     <svg> ... </svg> 
    </body> 
</html> 

С PHP Я хотел бы сделать это следующим образом:

<? include('image.svg'); ?> 

Я пробовал @Html.Partial('image.svg'), но получил ошибку. Есть ли способ исправить тот или иной метод, который я могу попробовать?

ответ

5

встраивания SVG в виде cshtml файл вместо .svg файла, то вы должны быть умеет использовать @ Html.Partial для рендеринга.

Ваш парциальное будет выглядеть

@Html.Partial("~/Views/pathtosvg/svg.cshtml")

+0

Похоже, это лучшее решение ... – flyingfisch

+0

Это не может быть лучшим решением. Что делать, если у вас есть +200 SVG-файлов? Вы собираетесь переименовать их всех и сохранить их копию? Возможно, создав какую-то задачу в глотке, но мне кажется, что должно быть лучшее решение. –

+0

Я добавляю что-то к этому ответу. если у вас очень большой файл svg, это решение не будет работать, и вы должны использовать @ Html.Raw (File.ReadAllText (Server.MapPath ("~/image.svg"))) в вашем коде. – Setmax

1

Можете ли вы использовать только файл, который будет таким же, как файл php?

Пример:

<!--#include file="image.svg"--> 

Этот синтаксис должен работать похож на PHP включают в себя, но для asp.net

+0

Это просто служит HTML комментарий к браузеру: - \ – flyingfisch

+0

Это должно включать файл в asp.net, я попробовал это только сейчас. Это объясняется здесь: http://www.w3schools.com/asp/asp_incfiles.asp –

+0

Возможно, он не работает с MVC и бритвой? – flyingfisch

7

Переименование файлов SVG и использовать Html.Partial должны сделать трюк, но я не хотел быть переименования файлов для того, чтобы достичь этого. Таким образом, вы можете хранить свои файлы такими, какие они есть.

@Html.Raw(File.ReadAllText(Server.MapPath("~/image.svg"))) 
Смежные вопросы