【问题标题】:To avoid auto generated Query string value in ActionLink避免在 ActionLink 中自动生成查询字符串值
【发布时间】:2013-07-12 12:12:21
【问题描述】:

我试图添加一个 css 类来锚定,但是在渲染到 html 时,href 属性具有值为 4 的查询字符串。控制器名称“Home”长度附加到 href 链接。如果我删除 css 类,它工作正常。何避免自动生成的查询字符串值。

剃刀密码:

@Html.ActionLink("Create Application", "CreateApplication", "Home", new {@class="link"});

呈现的 html 是:

<a href="/Account/CreateApplication?Length=4" class="link">Create Application</a>

【问题讨论】:

    标签: asp.net-mvc c#-4.0 razor html.actionlink


    【解决方案1】:

    如果您想将控制器名称作为参数传递,您可以使用以下签名:

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

    所以,你应该这样使用它:

    @Html.ActionLink("Create Application", "CreateApplication", "Home", null, new { @class = "link" });
    

    【讨论】:

      【解决方案2】:

      你调用的签名是

      ActionLink(string text, string actionName, object rotueValues, object htmlAttributes)
      

      特别是,第三个参数不是控制器名称,而是构建路由的参数对象。

      你可以通过new { controller = "..." }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-08
        • 1970-01-01
        • 2014-02-05
        • 2015-01-01
        • 1970-01-01
        • 2015-04-12
        • 1970-01-01
        • 2020-11-30
        相关资源
        最近更新 更多