我有一个控制器,它从数据库构建Html,并将每个html序列作为字符串存储在字符串列表中。此字符串列表作为其模型传递给View。 Razor foreach循环在视图中输出Html,如下所示:
@{
foreach (var Line in Model)
{
var myHTML = new HtmlString(@Line);
@myHTML
}
}
该逻辑产生<的有效超链接。 a href =“URL”>转到网址< / A>键入Html命令。
我尝试使用此范例创建@ Html.ActionLinks,但Razor代码循环将@ Html.ActionLink解释为文本,而不是带有超链接的命令。有没有办法实现这个目标?
以下是用于测试的Index()Action:
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>