【发布时间】:2018-01-09 07:16:50
【问题描述】:
在主页视图中,我生成了许多链接:
<ul class="nav navbar-nav">
@foreach (var item in ViewBag.RegList)
{
<li>@Html.ActionLink((string)item.registryName, "Index", "Registry", new { item.registryName }, new { item.registryID }) </li>
}
</ul>
我不明白 - 如何在 ActionLink 中为我的控制器设置参数以及它们从那里去哪里?
这就是我在控制器中定义索引的方式:
public async Task<ActionResult> Index(object attr)
但在 attr 中只有对象,当转换为字符串时变为空。如果原始类型是字符串 - 那么也是 null。
如何传输参数?还是我将值转换为错误的类型?
我也不明白 - ActionLink (routeValues) 的第四个参数必须是什么?
我正在使用的方法:https://msdn.microsoft.com/en-us/library/dd504972(v=vs.108).aspx
或者这个:https://msdn.microsoft.com/en-us/library/dd493068(v=vs.108).aspx
【问题讨论】:
-
其
new { attr = item.registryName }为第四个参数,方法为public async Task<ActionResult> Index(string attr)(第五个参数用于添加html属性,也需要遵循相同的格式 -
我如何将这些 html 属性从第 5 个参数获取到我的控制器?
-
你不需要 - 它用于添加 html 属性,例如向链接添加类名,它将是
new { @class = "form-control" }。我假设您想将多个参数传递给该方法,在这种情况下,第 4 个参数将是new { someParameterName + Item.SomeProperty, anotherParameterName = item.AnotherProperty }
标签: c# html asp.net asp.net-mvc-5