【发布时间】:2012-05-22 06:42:41
【问题描述】:
在 ASP.MVC 3 或 4(使用 Razor)中,如何将 CSS 类应用于 Url.Action() 辅助方法?有可能吗?
期望的结果:
<a href="home\index?page=2" class="FOO">BAR</a>
我已经走到这一步了:
@Url.Action("Index", "Home", new { page })
更新:谢谢大家。我犯了几个错误,我应该为未来的读者(很可能是我自己)澄清一下。我希望我能给你们一个以上的功劳。
a) new { page } - 不要这样做。它将产生不希望的输出。我的意思是:ViewBag.page 或 ViewBag.pageNum
b) 正如你们中的一些人指出的那样,我需要 Html.ActionLink() 而不是 Url.Action(),在我切换到生成完整标签之前,我一直在成功使用它,而不仅仅是 url。
我确认以下内容可以正常工作:
@Html.ActionLink("BAR", "Index", "Home", new { ViewBag.PageNum }, new { @class = "FOO" })
【问题讨论】:
-
new中的类似内容:@Url.Action("Index", "Home", new { page, className="foo" }) -
@MilkyWayJoe 我认为它的
new { @class= '...' }没有? -
@MilkyWayJoe:我认为这会将 &class=foo 附加到 url。下面的答案似乎是我需要使用 ActionLink 来代替。
-
对不起各位,午饭后我肯定需要喝杯咖啡,这不是我之前说的 className