Как отобразить код C # в виде простого текста в виде MVC?

1

У меня есть веб-сайт MVC, и я хотел бы показать некоторые фрагменты кода как текст на моем веб-сайте. Что-то вроде этого:

List<ImageInfoModel> imgList = new List<ImageInfoModel>();
string imgPath = @"~/Content/Images/ImageGallery/";
string tmbPath = @"~/Content/Images/ImageGallery/thumbnails/";

string imgFullPath = Server.MapPath(imgPath);
string tmbFullPath = Server.MapPath(tmbPath);

Если я просто скопирую и вставьте это в мое представление с помощью

текст кода

это испортит вещи из-за символа @.

Поэтому мой вопрос: как я могу отобразить код С# внутри моего представления?

Заранее спасибо.

  • 0
    проверьте @Html.Rawв качестве отправной точки.
Теги:
asp.net-mvc

3 ответа

2
Лучший ответ

В файле View добавьте @ везде, где вы начинаете синтаксис бритвы. Это позволит избежать кодов Razor и рассматривать его как HTML-код.

List<imageinfomodel> imgList = new List<imageinfomodel>
();
string imgPath = @@"~/Content/Images/ImageGallery/";
string tmbPath = @@"~/Content/Images/ImageGallery/thumbnails/";

string imgFullPath = Server.MapPath(imgPath);
string tmbFullPath = Server.MapPath(tmbPath);
0

Используйте это: Код позади:

        string Sk = "List&lt;ImageInfoModel&gt; imgList = new List&lt;ImageInfoModel&gt;();<br/>";
        Sk += "string imgPath = @";
        Sk += "\"~/Content/Images/ImageGallery/\";<br/>";
        Sk += "string tmbPath = @";
        Sk += "\"~/Content/Images/ImageGallery/thumbnails/\";<br/>";
        Sk += "string imgFullPath = Server.MapPath(imgPath);<br/>string tmbFullPath = Server.MapPath(tmbPath);";
        ViewBag.Sk = Sk;

Просмотр: @Html.Raw(ViewBag.Sk)

0

Если его непосредственно из модели, почему бы не попробовать @Html.Raw или если его в представлении вы могли бы префикс операторов с помощью @:

  • 0
    @: не останавливает обработку операторов бритвы. поэтому @:@model.prop is so cool что все равно model.prop значение model.prop .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню