【问题标题】:Alternative Syntax for Action Links操作链接的替代语法
【发布时间】:2013-10-04 13:18:26
【问题描述】:

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

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

我需要以下形式的语法

&lt;a href=""&gt; ..... &lt;/a&gt; 。 我正在使用 aspx 视图引擎。我使用 Html.ActionLink 语法,我的 CSS 无法正常工作并且造成很多混乱。

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

请帮忙..我不确定这是否可能..

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

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

【问题讨论】:

标签: c# asp.net-mvc


【解决方案1】:

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>

【讨论】:

  • 我正在使用 ASP.net mVC 2 .. 会支持吗?
【解决方案2】:

这应该可行

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

【讨论】:

    【解决方案3】:

    即使你使用

  • 最终会渲染成html页面中的锚链接。这不是标签的问题,而是css的问题,请仔细检查..

    确认在IE中使用开发者工具。点击F12可以了解标签在页面中是如何呈现的。

    问候, 帕万.g

  • 【讨论】:

    • 我了解它的 CSS 问题..我现在无法修改 CSS
    • 唯一的办法就是修改 CSS。如果您必须适当地获取样式..
    【解决方案4】:

    所有的 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 会自动更改生成的链接。

    【讨论】:

      【解决方案5】:

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

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

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

      <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>
      

      【讨论】:

        猜你喜欢
        相关资源
        最近更新 更多
        热门标签