具有多个参数的 ActionLink
我想用我的 ActionLink
创建一个像 /?name=Macbeth&year=2011
这样的 URL,我尝试这样做:
<%= Html.ActionLink("View Details", "Details", "Performances", new { name = item.show }, new { year = item.year })%>
但它不起作用。我该怎么做?
I want to create a URL like /?name=Macbeth&year=2011
with my ActionLink
which I have tried doing like so:
<%= Html.ActionLink("View Details", "Details", "Performances", new { name = item.show }, new { year = item.year })%>
but it doesn't work. How do I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您使用的重载使
year
值最终出现在链接的 html 属性中(检查您的渲染源)。重载签名如下所示:
您需要将两个路由值放入
RouteValues
字典中,如下所示:The overload you are using makes the
year
value end up in the html attributes of the link (check your rendered source).The overload signature looks like this:
You need to put both your route values in to the
RouteValues
dictionary like this:除了 Mikael Östberg 答案之外,请在您的 global.asax 中添加类似的内容,
然后在您的控制器中添加类似的内容
In addition to Mikael Östberg answer add something like this in your global.asax
then in your controller
基于 Mikael Östberg 的回答,以防万一人们需要知道它如何处理 html attr。这是另一个示例,参考 ActionLink
Based on Mikael Östberg answer and just in case people need to know how it does with html attr. Here is another example, reference from ActionLink