访问Controller文件中的Html.ActionLink属性

时间:2013-06-20 13:53:06

标签: asp.net-mvc-3 razor sitecore

我需要在我的控制器文件中访问practiceid属性,请帮助我如何访问此

<a href="" practiceid="df3d4335671b4fa880aebc2a6fc56869">Corporate</a>
<a href="" practiceid="26f4c9f5444b485c9d974f75361fa8ca">Tax &amp; Employee Comp/Exec Benefits</a>
<a href="" practiceid="40b0a3a0b2744fafae0475756693c37f">Business Finance &amp; Restructuring</a>

监管

我的csHtml代码如下:

@foreach (var facetData in Model.SearchResultItems.Facets.Select((x) => new { Item = x.Key, Index = x.Value }))    
{
    <tr>
        <td>
           @Html.ActionLink(@facetData.Index, "Search","Search", new { practiceid = @facetData.Item })
        </td>
    </tr>
}

和控制器代码如下:

public ActionResult Search(string practiceid)
{

}

但我在我的practiceid参数中没有得到任何东西。

2 个答案:

答案 0 :(得分:1)

请参阅this question

您要做的是向标签添加参数,而不是链接。这意味着您应该将第四个参数保留为null并使用第五个参数。即

@Html.ActionLink(@facetData.Index, "Search","Search", null, new { practiceid = facetData.Item })

这个辅助方法的the documentation,重点是第五个参数。

答案 1 :(得分:0)

添加额外的空值

@foreach (var facetData in Model.SearchResultItems.Facets.Select((x) => new { Item = x.Key, Index = x.Value }))    
{
    <tr>
        <td>
           @Html.ActionLink(@facetData.Index, "Search","Search", new { practiceid = facetData.Item }, null)
        </td>
    </tr>
}