我正在尝试将ID传递给URL,但是我无法对ID进行硬编码,但需要从模型传递ID。
它基本上是显示为表格的特定类型模型的集合。 当用户单击表的ID值时,我需要能够将ID传递给URL,以便它可以打开该表的相应详细页面。
<a href="~/Instance/Details/id=@Url.Encode(modelitem => item.Id)"> @Html.DisplayFor(modelitem => item.Id)</a>
这是我正在尝试的,需要帮助:)。
答案 0 :(得分:6)
首先,使用Url.Action
方法为action方法生成正确的相对URL。
@foreach (var item in SomeCollection)
{
<div>
<a href="@Url.Action("Details","Instance",new { id = item.Id })">
@Html.DisplayFor(modelitem => item.Id)
</a>
</div>
}
Url.Action
方法将生成详细信息操作方法的url值,该方法包括url中的item.Id
值。
假设Instance
是使用Details
参数显示id
操作方法的控制器名称。
public class InstanceController : Controller
{
public ActionResult Details(int id)
{
return Content("Details of "+id);
// to do : return a view with data queried using id
}
}