将ID传递给URL,ASP.NET MVC

时间:2018-08-20 19:35:36

标签: c# .net asp.net-mvc

我正在尝试将ID传递给URL,但是我无法对ID进行硬编码,但需要从模型传递ID。

它基本上是显示为表格的特定类型模型的集合。 当用户单击表的ID值时,我需要能够将ID传递给URL,以便它可以打开该表的相应详细页面。

<a href="~/Instance/Details/id=@Url.Encode(modelitem => item.Id)">   @Html.DisplayFor(modelitem => item.Id)</a>

这是我正在尝试的,需要帮助:)。

1 个答案:

答案 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
   }
}