html.actionlink将C#变量作为参数

时间:2012-04-29 16:35:16

标签: asp.net-mvc

 <% foreach (var item in Model) { %>

        <table width="100%" class="topicContainer">
           <tr>
             <td>  <%: Html.DisplayFor(modelItem => item.headerclob) %></td>
            </tr>
            <tr>
             <td><%: Html.ActionLink("ViewTopic", "ViewTopic","Forum" ,
               new { id=item.topicId },null) %></td>
            </tr>
        </table>

       <% } %>

我想要链接ViewTopic item.headerclob应该在不使用Razor的超链接中显示。

我也想把css应用到它。

1 个答案:

答案 0 :(得分:2)

我认为以下代码应该可行

<%: Html.ActionLink("item.headerclob, "ViewTopic","Forum" ,
               new { id=item.topicId },null) %>

它使用以下格式

public static string ActionLink(this HtmlHelper htmlHelper, 
                                string linkText,
                                string actionName,
                                string controllerName,
                                object values, 
                                object htmlAttributes)

如果您使用的是MVC 3,那么您只需使用“item.topicId”而不是“id = item.topicId”

<强>被修改     是的它有效,但从item.headerClob

中删除分号后
    <%: Html.ActionLink(item.headerclob, "ViewTopic","Forum" ,
               new { id=item.topicId },null) %>

修改 添加一个类到操作链接然后使用您的css文件来设置必要的属性

<%: Html.ActionLink(item.headerclob, "ViewTopic","Forum" ,
                   new { id=item.topicId , @class = "YourClass"},null) %>

现在您可以将css属性应用于您将css属性设置为其他人的操作链接

修改 如果你不想使用剃须刀,我可以建议你自己建立锚点,如下面的

<a href="<%=Url.Action("ViewTopic", "Forum",new { id=item.topicId})%>" class="YourClass"> item.headerclob </a>