Html.Actionlink作为Button效果

sto*_*tom 3 asp.net-mvc twitter-bootstrap

我想把@ Html.Actionlink作为按钮.

工作Html.Actionlink:

 <li class="btn btn-sm"> @Html.ActionLink("Redeem Reward", "GetReward",
 "Home", new { id = price.PriceId }, new { @class = "lnkGetReward"})</li>
Run Code Online (Sandbox Code Playgroud)

目前,当我点击它时看起来好像点击了一个链接,如果我们单击按钮边框,它就不起作用了.

我也在使用字体很棒的类.

我可以使用@Url.Action相同的id@class

Ash*_*way 7

而不是将您的按钮类li直接应用于链接.

在使用引导程序时,您可能希望添加btn-default以获得按钮的完整样式.

<li>
    @Html.ActionLink("Redeem Reward", "GetReward", "Home", 
    new { id = price.PriceId }, 
    new { @class = "lnkGetReward btn btn-default btn-sm"})
</li>
Run Code Online (Sandbox Code Playgroud)

但是,如果您100%确定要使用Url.Action您的代码,则如下所示.

<li class="btn btn-sm">
    <a href="@Url.Action("GetReward", "Home", new { id = price.PriceId })" class="lnkGetReward">Redeem Reward</a>
</li>
Run Code Online (Sandbox Code Playgroud)

我再次建议您btn btn-sm直接应用于链接.可能有一个btn-default.

根据评论进行编辑:

<li>
    <a href="@Url.Action("GetReward", "Home", new { id = price.PriceId })" class="lnkGetReward btn btn-default btn-sm">
        <i class="fa fa-mobile"></i> Redeem Reward
    </a>
</li>
Run Code Online (Sandbox Code Playgroud)

  • 不,您将无法将HTML标记添加到actionlink的文本中,请参阅答案末尾的更新代码. (2认同)