У меня есть контроллер, который создает Html из базы данных и сохраняет каждую последовательность html в виде строки в списке строк. Этот список строк передается в View как его модель. Цикл Razor foreach выводит HTML в представлении следующим образом:
@{
foreach (var Line in Model)
{
var myHTML = new HtmlString(@Line);
@myHTML
}
}
Эта логика создает действительные гиперссылки для команд Html типа Go To URL .
Я пытался создать @ Html.ActionLinks, используя эту парадигму, но цикл кода Razor интерпретирует @ Html.ActionLink как текст, а не как команду с гиперссылкой. Есть ли способ сделать это?
Вот действие Index (), использованное для проверки:
public ActionResult Index()
{
List<string> HTMLList = new List<string>();
string workURL;
string work;
workURL = "http://stackoverflow.com";
work = "<a href=\"" + workURL + "\">" + "This will Work" + "</a>" ;
HTMLList.Add(work);
HTMLList.Add("<br/><br/>");
work = "@Html.ActionLink(\"This Will Be Text not a hyperlink\",\"Display\",\"PDF\")";
HTMLList.Add(work);
//HTMLList.Add(work2.HtmlEncode());
return View("Jay",HTMLList);
}
Вот файл просмотра:
<!DOCTYPE html>
@{
ViewBag.Title = "Jay";
}
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Jay</title>
</head>
<body>
<div id="wrapper">
<nav>
@{
foreach (var Line in Model)
{
var myHTML = new HtmlString(@Line);
@myHTML
}
}
<br />
</nav>
</div>
</body>
</html>