Html模板转换为asp.net/razor

本文关键字:net razor asp 转换 Html | 更新日期: 2023-09-27 18:15:19

我们使用的模板的结构设置如下:

<li><a href="dashboard.html"><span class="iconfa-laptop"></span>Dashboard</a></li>

Razor允许我们使用@Html helper。

<li>@Html.ActionLink("Home", "Index", "Home")</li>

上面在链接文本的左侧添加了一个图标。是否有一种方法来复制这个结构使用Html帮助?

还是手动输入html的唯一方法?

Html模板转换为asp.net/razor

试试用Url.Action代替Actionlink

<li><a href="@Url.Action("Index", "Home")"><span class="iconfa-laptop"></span>Dashboard</a></li>

您所需要的只是生成路径,所以这就可以了。否则,您将不得不为ActionLink创建一个helper扩展以获取innerHTML内容。

作为另一种解决方案,您还可以通过CSS轻松完成您想要的功能,而无需担心扩展HtmlHelper的功能。另外,它还能减少你的利润,例如

.iconfa-laptop {
   display:inline-block;
   padding-left: 18px;
   line-height:18px;
   background: url('your-image')  center left no-repeat;
}
<a class="iconfa-laptop" href="dashboard.html">Test Link</a>

然后,您可以简单地执行以下操作:

<li>@Html.ActionLink("Home", "Index", "Home", null, new {@class = "iconfa-laptop"})</li>

CSSPad示例