如何合并 Html.ActionLink (MVC3) 的 htmlAttributes?
我将编写一个简单的帮助程序,它包装 Html.ActionLink 并向其添加某个类属性。 目前它看起来像:
@helper MyActionLink(string text, string action, object routeValues, object htmlAttributes)
{
@Html.ActionLink(text, action, routeValues, new { @class = "MyClass" })
}
它实际上添加了所需的 @class 属性,但忽略了所有传递的 htmlAttributes
。 一样使用
@MyActionLink("Item1", "Edit", new { itemId = 1 }, new { @class = "class1" })
因此,如果像它的输出
<a class="MyClass" href="/Test/Edit?itemId=1">Item1</a>
,但我希望它有 2 个类: class="class1 MyClass"
如何合并这些 htmlAttributes?
I'm going to write a simple helper that wraps Html.ActionLink and adds a certain class attribute to it.
At the moment it looks like:
@helper MyActionLink(string text, string action, object routeValues, object htmlAttributes)
{
@Html.ActionLink(text, action, routeValues, new { @class = "MyClass" })
}
It actually adds needed @class attribute, but ignores all the passed htmlAttributes
. So, if being used like
@MyActionLink("Item1", "Edit", new { itemId = 1 }, new { @class = "class1" })
it outputs
<a class="MyClass" href="/Test/Edit?itemId=1">Item1</a>
but I want it to have 2 classes: class="class1 MyClass"
How can I merge those htmlAttributes?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
试试这个片段
Try this snippet
这可以通过简单地在 jquery 脚本中附加标签来实现,如下所示,
This can be achieved simply appending tag in jquery script like this,
比哈齐克的答案简单一点:
A bit simpler than hazzik's answer: