asp.net-mvc - @Html.ActionLink 如何添加查询字符串

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

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

这是我的代码

Controller: Home
ActionResult: Daily
QueryString: DateForLookUp 

@Html.ActionLink("Next Day", "Daily", "Home", new { @DateForLookUp = @Model.AddOneDay() })

目前的结果是

http://mysite.com/Home/Daily?lenght=4

应该是

http://mysite.com/Home/Daily?DateForLookUp=01/01/2014

我在这里做错了什么?

最佳答案

Html.ActionLink 有很多 overloads

您正在使用 wrong overload它将您的 Controller 名称“Home”解释为路由值。

正确之一 overload/sysntax 是:

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

关于asp.net-mvc - @Html.ActionLink 如何添加查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14704859/

相关文章:

javascript - 模型未从 View 中获取所有属性值(仅新添加的属性)

asp.net-mvc - ASP.NET MVC 的用户-组-权限用户界面设计

asp.net - 为什么 Asp.NET WebApi 使用 ExceptionFilter 呈现 IIS 错误页面作为响应?

c# - 我们真正在寻找哪种 mvc3/c# 技术/体系结构 - nservicebus、WCF 或其他?

asp.net - 为熟悉 ASP.NET Web 表单开发的人推荐 MVC3 的周末学习路线

razor - 我们能否获取 Umbraco razor View 中特定文档类型的创建节点数

c# - 下拉列表中的空值(for)

asp.net - IIS 7.5 和 Razor 站点 : 500 errors for CSS and JS

javascript - 将 C# 字符串放入 asp.net-mvc View 中的 javascript 字符串时正确编码

javascript - Url.Action 没有给我实际的 Url