【发布时间】:2018-07-26 11:53:33
【问题描述】:
我有 2 个语言切换链接
<a class="dropdown-item"
href="@Url.Action(ViewContext.RouteData.Values["action"].ToString(), ViewContext.RouteData.Values["controller"].ToString(), new { language = "en" }, null)"
style="color:#333;">English</a>
<a class="dropdown-item"
href="@Url.Action(ViewContext.RouteData.Values["action"].ToString(), ViewContext.RouteData.Values["controller"].ToString(), new { language = "ar" }, null)"
style="color:#333;">Arabic</a>
它工作正常,只有 url 中的控制器和操作 但是当有像 id 这样的可选参数用于详细信息和编辑操作时,它不会按预期工作。
我想我必须用一些东西来改变 null(最后一个参数),但我是新人,用谷歌搜索了很多,但没有得到任何有价值的东西,请帮助我。
如果解决方案适用于 n 个可选参数而不是仅一个 Id 会更好,但目前这也是可以接受的。
【问题讨论】:
-
最后一个参数 (
null) 用于添加 html 属性。您需要向第四个参数添加其他参数 - 例如new { language = "en", id = someValue } -
谢谢@stephen 你能帮我解决一下id = 什么吗?如果
products/edit/12和products/detail/12 -
我做到了,
new { language = "en", id = ViewContext.RouterData.Values["id"] }在所有情况下都是最佳且无错误 -
为什么不使用 Html.Action 或 Html.RenderAction?
标签: asp.net-mvc razor optional-parameters