ActionLink使用T4MVC和一个HTML代码块

时间:2013-01-23 18:43:39

标签: asp.net-mvc razor t4mvc

有没有办法让这个工作:

@foreach (var item in Model.CategoryListByKeywordsDetails)
{
    <li>
        @Html.ActionLink("ver >", MVC.Ad.ListByCategory(item.Id, (string)ViewBag.keywords))
        {
            <em>@Html.DisplayFor(modelItem => item.SearchCount)</em> @Html.DisplayFor(modelItem => item.Name) <span class="float-right">ver ></span>
        }
    </li>
}        

我想要结果(我用空格来显示HTML代码):

<a href="/Ad/ListByCategory?categoryId=1&keywords=alfa">
    <em>6</em>Carros
    <span class="float-right">ver &gt;</span>
</a>

2 个答案:

答案 0 :(得分:4)

您无法使用任何@Html.ActionLink重载执行此操作。在@Url.Action代码中使用a

<a href="@Url.Action(MVC.Ad.ListByCategory(item.Id, (string)ViewBag.keywords))">
    <em>@Html.DisplayFor(modelItem => item.SearchCount)</em> @Html.DisplayFor(modelItem => item.Name) 
    <span class="float-right">ver &gt;</span>
</a>

答案 1 :(得分:0)

我认为您的问题是在操作链接中包含一些HTML代码。你可以简单地使用“a”标签:

    @foreach (var item in Model.CategoryListByKeywordsDetails)
    {
        <li>
          <a href="@Url.Action(MVC.Ad.ListByCategory(item.Id, (string)ViewBag.keywords))">                
                    <em>@item.SearchCount</em>@item.Name<span class="float-right">ver &gt;</span>
          </a>
        </li>
}