Html.ActionLink 在 foreach 循环中不起作用
Posted
技术标签:
【中文标题】Html.ActionLink 在 foreach 循环中不起作用【英文标题】:Html.ActionLink is not working in foreach loop 【发布时间】:2017-02-27 09:38:24 【问题描述】:我从另一个页面收到一些数据。我尝试遍历数据并创建一个链接。我得到数据并将其放入@html.ActionLink(GroupID, "GroupActivity", "Home")
。 GroupID
现在有价值。
但在屏幕上它只显示数据但不使其成为链接。
<li>@Html.ActionLink("Timetable", "Timetable", "Home")</li>
<li>
<select class="form-control">
<option selected>Select Group</option>
@ var GroupID = "";
@foreach (var item in Model)
<option>
@
GroupID = item.GroupID.ToString();
ViewBag.SelectedGroup = GroupID;
@Html.ActionLink(GroupID, "GroupActivity", "Home")
</option>
</select>
</li>
enter image description here
【问题讨论】:
你想在这里做什么——在<option>
中包含<a>
元素毫无意义——而且它是无效的(你到底为什么要这样做ViewBag.SelectedGroup = GroupID
?)
我的列表中有很多组。现在我想使用@Html.ActionLink 为每个 GroupID 创建链接。但它不会在 ActionLink 中建立链接
您没有阅读我的评论吗?<option>
元素中的<a>
标签无效(以及您为什么要创建<select>
无论如何-您的代码没有意义)
意思是@标签?
比我如何动态生成多个链接的DropDownList。
【参考方案1】:
你必须在那里写这样的东西:
使用操作链接
@Html.ActionLink("Some text for link", "GroupActivity", "Home",new GroupID=GroupID )
但在您的情况下,这不起作用,因为您在无效的选项内创建操作链接。
使用客户端事件(onchange)
$(function()
$("#YourDropDownID").change(function()
var selectedItem = $("#YourDropDownID option:selected").text();
var redirectURL = '@Url.Action("ActionName","ControllerName")';
window.location.href = redirectURL + "?item=" + selectedItem;
【讨论】:
以上是关于Html.ActionLink 在 foreach 循环中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 Html.ActionLink 上同时添加 CSS 类和返回确认?
如何改进在样式 div 内使用 Html.ActionLink 的按钮