2

我有一个简单按钮的可视化问题,这完美呈现

@Html.ActionLink("<", "Monthly", "Agenda", null, new Dictionary<string, object> { { "data-role", "button" }, { "data-theme", "c" }, { "data-mini", "true" } })

我调用的动作虽然需要参数,因此我将其更改为

@Html.ActionLink("<", "Monthly", "Agenda", new { shift = -1 }, new Dictionary<string, object> { { "data-role", "button" }, { "data-theme", "c" }, { "data-mini", "true" } })

按照这个答案HTML.ActionLink 方法

当我按照上面的方式更改它时,它会起作用,但它不再呈现为 jquery 移动按钮

它来自这个http://i47.tinypic.com/alhs9h.png

到这个http://i48.tinypic.com/351ft5z.png

谢谢你帮助我

4

1 回答 1

5

要达到正确的Html.ActionLink重载,您需要将 RouteValues 作为RouteValueDictionary(不是匿名对象)传递:

@Html.ActionLink("<", "Monthly", "Agenda", 
                 new RouteValueDictionary() { { "shift", -1 } }, 
                 new Dictionary<string, object> { { "data-role", "button" }, { "data-theme", "c" }, { "data-mini", "true" } })

或者,更短/更易于阅读,您可以将RouteValues和 HtmlAttributes 作为匿名对象传递:

@Html.ActionLink("<", "Monthly", "Agenda", new { shift = -1 }, new { data_role = "button", data_theme = "c", data_mini = "true" })

在匿名对象版本中,您必须使用data_代替data-,但帮助程序在显示属性键之前替换_-,因此输出是相同的。

于 2012-05-05T12:14:35.223 回答