Dan*_*sen 4 asp.net-mvc asp.net-mvc-3
在ASP.MVC 3或4(使用Razor)中,如何将CSS类应用于Url.Action()辅助方法?可能吗?
期望的结果:
<a href="home\index?page=2" class="FOO">BAR</a>
Run Code Online (Sandbox Code Playgroud)
我已经走到这一步了:
@Url.Action("Index", "Home", new { page })
Run Code Online (Sandbox Code Playgroud)
更新:谢谢大家.我犯了几个错误,我应该为未来的读者澄清(很可能是我自己).我希望我能给你不止一个人的信任.
a)新的{page} - 不要这样做.它会产生不希望的输出.我的意思是:ViewBag.page或ViewBag.pageNum
b)正如你们中的一些人指出的那样,我需要Html.ActionLink()而不是Url.Action()我已经成功使用,直到我切换到生成完整标签,而不仅仅是网址.
我确认以下工作符合要求:
@Html.ActionLink("BAR", "Index", "Home", new { ViewBag.PageNum }, new { @class = "FOO" })
Run Code Online (Sandbox Code Playgroud)
Eri*_*ips 12
我相信你想用一个ActionLink代替.这将允许您添加所需的任何属性.
@Html.ActionLink("BAR", "Index", "Home", new { page }, new { @class = "FOO" })
Run Code Online (Sandbox Code Playgroud)
输出:
<a href="home/index?page=2" class="FOO">BAR</a>
Run Code Online (Sandbox Code Playgroud)
或者你可以"手动"做到
<a href="@Url.Action("Index", "Home", new { page })" class="FOO">BAR</a>
Run Code Online (Sandbox Code Playgroud)
Url.Action 不创建任何 html 元素,它只创建一个 URL,这就是为什么它被称为 Url.Action,而不是 Html.Action...(Html.Action 是完全不同的东西)。
如果您希望在使用 Url.Action 的链接上使用 css,请执行以下操作:
<a href="@Url.Action("Action", "Controller")" class="myclass">My Link<a>
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用 Html.ActionLink
@Html.ActionLink("My Link", "Action", "Controller", null, new { @class="myclass" })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12123 次 |
| 最近记录: |