1

我试图在我的ActionLink.

所以,我有以下代码。前三个参数是文本、动作名称和控制器。然后我添加路由值,然后尝试添加 HTML 属性。

@Html.ActionLink("What is this", "Pages", "Root", new { @slug = "what-is-this" },new{@class="dropdown-toggle", @data-toggle="dropdown"})

当我运行该网站时,我收到一条错误消息,指出带有此操作链接的视图,它给出了External component has thrown an exception.

所以,我想我的问题是:如何向这个动作链接添加 html 属性?我究竟做错了什么?

4

2 回答 2

5

您不能使用@data-toogle,而是需要使用下划线。所以你的链接应该是这样的:

@Html.ActionLink("What is this", "Pages", "Root", new { slug = "what-is-this" },new{@class="dropdown-toggle", data_toggle="dropdown"})

其余的将由 MVC 完成,您data_toggle将转换为data-toggle. 此外,无需@与每个项目一起使用。只有在使用保留的 C# 关键字(如class.

于 2013-08-05T17:52:52.187 回答
4

问题出在@data-toggle.

名称中不能有破折号。如果需要在客户端渲染“-”,可以使用“_”,MVC会渲染“-”

@Html.ActionLink("What is this", "Pages", "Root", new { @slug = "what-is-this" },new{@class="dropdown-toggle", @data_toggle="dropdown"})
于 2013-08-05T17:53:37.383 回答