У меня есть веб-сайт 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);
Если я просто скопирую и вставьте это в мое представление с помощью
текст кода
это испортит вещи из-за символа @.
Поэтому мой вопрос: как я могу отобразить код С# внутри моего представления?
Заранее спасибо.
В файле 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);
Используйте это: Код позади:
string Sk = "List<ImageInfoModel> imgList = new List<ImageInfoModel>();<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)
Если его непосредственно из модели, почему бы не попробовать @Html.Raw
или если его в представлении вы могли бы префикс операторов с помощью @:
@:
не останавливает обработку операторов бритвы. поэтому @:@model.prop is so cool
что все равно model.prop
значение model.prop
.
@Html.Raw
в качестве отправной точки.