将ID传递给URL,ASP.NET MVC

Abh*_*hna 0 .net c# 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>
Run Code Online (Sandbox Code Playgroud)

这就是我想要的,需要帮助:).

Shy*_*yju 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>
}
Run Code Online (Sandbox Code Playgroud)

Url.Action方法将生成详细操作方法的url值,其中包含item.Idurl中的值.

假设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
   }
}
Run Code Online (Sandbox Code Playgroud)