C# HTML.ActionLink到详细信息页面不工作
嗨,我很难解决这个问题。我希望我的标题是一个链接,重定向到详细信息C# HTML.ActionLink到详细信息页面不工作,c#,.net,asp.net-mvc,html.actionlink,C#,.net,Asp.net Mvc,Html.actionlink,嗨,我很难解决这个问题。我希望我的标题是一个链接,重定向到详细信息 <div class="card-columns"> @foreach (var item in Model) { <div class="card" style="width:300px"> <img class="card-img-top" src=@Html.DisplayFor(modelItem => item.CoverArt
<div class="card-columns">
@foreach (var item in Model)
{
<div class="card" style="width:300px">
<img class="card-img-top" src=@Html.DisplayFor(modelItem => item.CoverArt) alt="Card image">
<div class="card-body">
@Html.ActionLink(modelItem => item.Name, "Details", "Albums", new { /* id=item.PrimaryKey */ }, null)
<p class="card-text">@Html.DisplayFor(modelItem => item.Info)</p>
<p class="card-text small">@Html.DisplayFor(modelItem => item.ReleaseDate)</p>
</div>
</div>
}
</div>
@foreach(模型中的var项目)
{
item.CoverArt)alt=“卡片图像”>
@ActionLink(modeleItem=>item.Name,“详细信息”,“相册”,新的{/*id=item.PrimaryKey*/},null)
@Html.DisplayFor(modelItem=>item.Info)
@Html.DisplayFor(modelItem=>item.ReleaseDate)
}
我在互联网上找到了这个,但它抛出了一个错误:
“没有给出与所需格式相对应的参数
“IHtmlHelper.ActionLink(字符串,字符串,…”的参数“fragment”
将
modelItem=>item.Name
替换为item.Name
<div class="card-columns">
@foreach (var item in Model)
{
<div class="card" style="width:300px">
<img class="card-img-top" src=@Html.DisplayFor(modelItem => item.CoverArt) alt="Card image">
<div class="card-body">
@Html.ActionLink(item.Name, "Details", "Albums", new { /* id=item.PrimaryKey */ }, null)
<p class="card-text">@Html.DisplayFor(modelItem => item.Info)</p>
<p class="card-text small">@Html.DisplayFor(modelItem => item.ReleaseDate)</p>
</div>
</div>
}
</div>
@foreach(模型中的var项目)
{
item.CoverArt)alt=“卡片图像”>
@ActionLink(item.Name,“详细信息”,“相册”,新{/*id=item.PrimaryKey*/},null)
@Html.DisplayFor(modelItem=>item.Info)
@Html.DisplayFor(modelItem=>item.ReleaseDate)
}
将modelItem=>item.Name
替换为item.Name
<div class="card-columns">
@foreach (var item in Model)
{
<div class="card" style="width:300px">
<img class="card-img-top" src=@Html.DisplayFor(modelItem => item.CoverArt) alt="Card image">
<div class="card-body">
@Html.ActionLink(item.Name, "Details", "Albums", new { /* id=item.PrimaryKey */ }, null)
<p class="card-text">@Html.DisplayFor(modelItem => item.Info)</p>
<p class="card-text small">@Html.DisplayFor(modelItem => item.ReleaseDate)</p>
</div>
</div>
}
</div>
@foreach(模型中的var项目)
{
item.CoverArt)alt=“卡片图像”>
@ActionLink(item.Name,“详细信息”,“相册”,新{/*id=item.PrimaryKey*/},null)
@Html.DisplayFor(modelItem=>item.Info)
@Html.DisplayFor(modelItem=>item.ReleaseDate)
}
我使用了这个,它起了作用:
<a asp-action="Details" asp-route-id="@item.Id">
<h4 class="card-title">
@item.Name
</h4>
</a>
@项目名称
我使用了这个,它起了作用:
<a asp-action="Details" asp-route-id="@item.Id">
<h4 class="card-title">
@item.Name
</h4>
</a>
@项目名称
所有ActionLink方法的第一个参数都需要字符串。因此@Html.ActionLink(modeleItem=>item.Name应该是@Html.ActionLink(item.Name)。此外,您不应该使用任何“for”helpers,例如DisplayFor,因为您没有将任何内容绑定到模型,所以您只是在模型中迭代并显示每个项的值。我这样做了,链接起作用了,但它打开了详细信息页面,而没有在上面的代码中注释您的ID的项的数据。所有ActionLink方法的第一个参数需要一个ring.So@Html.ActionLink(modeleItem=>item.Name应该是@Html.ActionLink(item.Name)。此外,您不应该使用任何“for”helpers,例如DisplayFor,因为您没有将任何内容绑定到模型,您只是在模型中迭代并显示每个项目的值。我这样做了,链接工作了,但它打开了详细信息页面,而没有在上面的代码中注释您的ID的项目的数据。我这样做了,链接工作了,但它打开了详细信息页面e如果没有itemWell的数据,那么您就不远了。如果您有一个带有详细信息(int-id)的AlbumsController
,则代码段中出现的“routeValues”参数应该可以工作
action。我这样做了,链接起作用了,但它打开了没有项目数据的详细信息页面。那么,你离这里不远了。如果你有一个带有details(int-id)
操作的AlbumsController
,你的“routeValues”参数在你的代码片段中被注释掉了,那么它应该起作用。