动作链接的替代语法

时间:2013-10-04 13:18:27

标签: c# asp.net-mvc

我是ASP.net MVC的新手。我正在将Web表单中的母版页转换为MVC母版页。但是,菜单的CSS设计方式使我无法使用以下语法:

  <li><span><%: Html.ActionLink("Index", "Index", "Home")%></span></li>

我需要

形式的语法

<a href=""> ..... </a>。  我正在使用aspx视图引擎。我使用Html.ActionLink语法,我的CSS不起作用,并且造成很多混乱。

但是,我需要像以前的应用程序一样获得精确的外观和感觉。我正在使用ASP.net MVC2

请帮助..我不确定是否可能..

我没有使用以下语法重定向到该页面:

 <a href="/Products/Details/">this prodcut</a>

5 个答案:

答案 0 :(得分:4)

Url.Action是你的朋友!

使用Razor视图引擎:

<a href="@Url.Action("Index", "Home")" style="" class="" whatever="">My link</a>

使用ASPX视图引擎:

<a href="<%: Url.Action("Index", "Home") %>" style="" class="" whatever="">My link</a>

答案 1 :(得分:2)

这应该有效

<a href="@Url.Action("Action","Controller")">Text</a>

答案 2 :(得分:0)

即使您使用

  • &lt;%:Html.ActionLink(“Index”,“Index”,“Home”)%&gt;
  • 它将最终渲染到html页面中的锚链接。它不是标签的问题,它与css检查它彻底..

    确认在IE中使用开发人员工具..通过单击F12,您可以了解标记在页面中的呈现方式。

    此致 Pavan.g

    答案 3 :(得分:0)

    所有css都可以使用。

    如果你有这样的ActionLink:

    Html.ActionLink("Index", "Index", "Home") 
    

    它生成以下Html:

    <a href="yousite/Home/Index">Index</a>
    

    如果要添加类,请按以下方式编写:

    Html.ActionLink("Index", "Index", "Home", null, new {@class="myclass"})
    

    它生成以下Html:

    <a class="myclass" href="yousite/Home/Index">Index</a>
    

    在MVC中,强烈建议使用Html.ActionLink。 MVC基于路由。如果您更改路由,Html.ActionLink会自动更改生成的链接。

    答案 4 :(得分:0)

    要链接到控制器中的操作方法,请使用以下命令:

    <a href="/ControllerName/ActionName">...</a>
    

    因此,如果您想访问Index控制器中的Home方法,请使用:

    <a href="/Home/Index">...</a>
    

    您还可以使用ActionLink添加类,例如

    Html.ActionLink("LinkText", "Controller", "Action", null, new {@class="css class"})
    

    这将产生如下链接:

    <a href="/Controller/Action" class="css class">LinkText</a>