@for (var i = 0; i < Model.GroupTypeNames.Count; i++)
{
<nav id="options" class="work-nav">
<ul id="filters" class="option-set" data-option-key="filter">
<li>
@{
var item = Model.GroupTypeNames[i];
var selected = i == 0 ? " class=\"selected\"" : "";
}
<a onclick='window.location.href('@Url.Action("GetData", "Groups", new { id = @item.Id })')' data-option-value="*"@Html.Raw(selected)>@item.TypeName</a>
</li>
</ul>
</nav>
}
我试着这样做
@Html.ActionLink(@item.TypeName, "GetData", "Groups", new { id=@item.Id }, null)
控制器代码
public ActionResult GetData(Guid id)
{
// code
没有被调用GetData
为什么会这样?调试后没有错误:/
答案 0 :(得分:2)
<a title="Name" onclick="location.href='@Url.Action("GetData", "Groups",
new { id = @item.Id })'" > @item.TypeName</a>
我觉得这对你很有用。
答案 1 :(得分:0)
您在构建链接时错误地使用了引号。使用单独的变量来构建链接,然后使用它来呈现HTML。
@{
var item = Model.GroupTypeNames[i];
var selected = i == 0 ? " class=\"selected\"" : "";
var url = @Url.Action("GetDataById", "Groups", new {id = @item.Id});
}
<a onclick='window.location.href("@url")'
data-option-value="*"
@Html.Raw(selected)>@item.TypeName</a>
您也可以直接使用href属性
代替onclick功能<a href="@url" data-option-value="*" @Html.Raw(selected)>@item.TypeName</a>