将html锚标记转换为mvc操作链接

时间:2017-06-06 15:28:42

标签: asp.net-mvc

我有这个基本的锚标记inhtml

<a href="signup.html" class="signup-button">CREER UN COMPTE</a>

如何将它与css类一起转换为mvc动作链接。

3 个答案:

答案 0 :(得分:1)

<ul>
     @foreach (var item in Model)
     {
     <li>                                   
     <a href='@Url.Action("Login",new{id=item.id})'>@item.post_name</a>
      </li>
       }
  </ul>

答案 1 :(得分:0)

试试这个人:

@Html.ActionLink("CREER UN COMPTE", "MyAction", "MyController", null, null, "MyAnchor", null, new {@class="signup-button"})

此处引用扩展方法:https://msdn.microsoft.com/en-us/library/dd460522.aspx

public static MvcHtmlString ActionLink(
 this HtmlHelper htmlHelper,
 string linkText,
 string actionName,
 string controllerName,
 string protocol,
 string hostName,
 string fragment,
 Object routeValues,
 Object htmlAttributes
)

答案 2 :(得分:0)

要转换的代码:

<a href="signup.html" class="signup-button">CREER UN COMPTE</a>

如果我查看上面的代码,您已使用锚标记重定向到简单的html页面,即signup.html

如果你想在mvc actionlink中做同样的事情,根据我的知识,使用mvc actionlink也是不可能的,因为如果你看一下msdn的动作链接的下面重载。

https://msdn.microsoft.com/en-us/library/dd460522.aspx

public static MvcHtmlString ActionLink(
    this HtmlHelper htmlHelper,
    string linkText,
    string actionName,
    string controllerName,
    string protocol,
    string hostName,
    string fragment,
    Object routeValues,
    Object htmlAttributes
)

只需要动作名称和控制器名称即可进行任何重定向。

替代解决方案:

如果您使用控制器将signup.html更改为注册操作,则可以使用以下代码轻松调用。

@Html.ActionLink("CREER UN COMPTE", "signup", "AnyControllerName", protocol: null, hostName: null, fragment: "MyAnchor", routeValues: null, new {@class="signup-button"})

如果我错了,请纠正我,并希望以上信息有用。

由于

KARTHIK