如何在actionLink asp.net MVC 3中的_layout.cshtml中传递参数

时间:2012-04-28 02:36:45

标签: asp.net asp.net-mvc-3

在我的_layout.cshtml中,我想添加一个这样的菜单:

  • @Html.ActionLink("Profile", "Details", "User", new {e_id ="myemail@email.com")
  • 我想将
    @Context.User.Identity.Name
    作为e_id传递。我能以那种方式通过吗?如果不是那么另一种方式是什么?当我硬编码时:
  • @Html.ActionLink("Profile", "Details", "User", new { e_id="awladliton@gmail.com"})
  • 它不会在用户控制器详细信息操作中重定向我。当我给出这样的URL时:
    http://localhost:48096/User/Details?e_id=awladliton@gmail.com
    它工作正常。提前致谢

    1 个答案:

    答案 0 :(得分:0)

    像这样使用

    @Html.ActionLink("Profile", "Details", "User", new { e_id="Context.User.Identity.Name},null)
    

    它使用此重载

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

    如果要将任何自定义HTML属性传递给link元素,可以用该

    替换第五个参数

    前:

     @Html.ActionLink("Profile", "Details", "User", new { e_id="yourvalue"},new {@class="myCSsClassName"})