【发布时间】:2013-10-08 11:51:29
【问题描述】:
我正在创建一个 MVC4 应用程序。 在我的合同控制器概述页面中,我有一个 Url.Action
int teller = 0;
foreach (var item in Model)
{
<a href="@Url.Action("Details", "Contract",new { id = teller })">
<tr>
<td>@Html.DisplayFor(modelItem => item.ContractMSFNo)</td>
<td>@Html.DisplayFor(modelItem => item.StageCode)</td>
<td>@Html.DisplayFor(modelItem => item.ValidFromView)</td>
<td>@Html.DisplayFor(modelItem => item.ValidToView)</td>
</tr>
</a>
teller++;
}
我需要传递 id。我在合同控制器的 ActionLink 详细信息中使用 id
我的控制器是
public ActionResult Details(int id)
{
//code
return View(contract);
}
当我点击链接时生成的网址是
http://localhost:4826/Contract/Details/0
/0 是 id
我希望我的网址是 http://localhost:4826/Contract/Details
我知道这可以通过 Html.Actionlink 来实现,但我不得不使用 Url.Action。是否可以通过 Url.Action
来实现【问题讨论】:
-
你当然需要
ID。当用户单击其中一个链接时,当您不传递ID时,您将如何获得它的值。无论你做什么都是好的。 -
这就是我要问的,有什么方法可以让我的网址出现
http://localhost:4826/Contract/Details(即没有 id)? -
然后你必须创建表单,将
ID存储在隐藏字段中并提交表单
标签: asp.net-mvc-4 url-rewriting url-routing