@ Html.ActionLink如何添加查询字符串

Gib*_*boK 16 asp.net-mvc razor asp.net-mvc-3

我需要使用MVC和Razor在View中设置查询字符串.

在这里我的代码

Controller: Home
ActionResult: Daily
QueryString: DateForLookUp 

@Html.ActionLink("Next Day", "Daily", "Home", new { @DateForLookUp = @Model.AddOneDay() })
Run Code Online (Sandbox Code Playgroud)

目前的结果是

http://mysite.com/Home/Daily?lenght=4
Run Code Online (Sandbox Code Playgroud)

它应该是

http://mysite.com/Home/Daily?DateForLookUp=01/01/2014
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

nem*_*esv 22

Html.ActionLink还提供了大量的重载.

并且您使用了错误的重载,它将您的控制器名称解释"Home"为路由值.

正确的重载/sysntax之一是:

@Html.ActionLink(
    "Next Day", //linkText
    "Daily", //actionName
    "Home", //controllerName
     new { @DateForLookUp = @Model.AddOneDay() }, //routeValues
     null //htmlAttributes
)
Run Code Online (Sandbox Code Playgroud)

  • 这解决了问题@ Html.ActionLink("第二天","每日",新{@DateForLookUp = @ Model.AddOneDay()}) (2认同)