0

所以我有这个页面,它将显示数据库中的单个记录。所以我的网址看起来像:

mysite.com/Vehicle/Edit/1

或者它可能会以 2、3、4、5 等结束。取决于它的记录。基本上我需要这个页面中的一个链接,它将带我到另一个页面,但在 url 中具有相同的值,所以它可能看起来像:

mysite.com/Owner/Add/1

或者它可能以 2、3、4、5 等结尾。取决于链接所在的记录。

我如何使用 C# MVC 执行此操作,如果有任何区别,我使用 Razor。谢谢

4

2 回答 2

3

您将需要使用其中一个Html.ActionLink助手。

假设您将 a 传递Model给具有名为 的属性的视图Id。你可以这样使用Html.ActionLink

@Html.ActionLink("Add Owner", "Add", "Owner", new { id = Model.Id }, null)

第一个参数是链接将显示的文本。第二个参数是Action要调用的名称。第三个参数是所在的名称ControllerAction第四个参数是 的路由值Action。第五个参数用于 html 属性。假设您想在class链接中添加一个。而不是 null,您可以使用new { @class = "my-link-class" }. 注意@课前。那是因为class是保留字。如果您正在设置style,您只需执行以下操作:new { style = "background-color: #ffffff;" }.

所有这一切都假设您的 AddAction接受一个int id. 所以是这样的:

public ActionResult Add(int id)
{
   // Do stuff.
}

Here are the docs for the specific Html.ActionLink overload I used in my example: http://msdn.microsoft.com/en-us/library/dd504972(v=vs.108).aspx

于 2012-10-02T16:31:47.347 回答
0

请参阅此帖子以获取 URL。如何在 MVC 3 中获取当前页面 URL

一旦你有了 url,你就可以在最后的 '/' 之后挑选尾随字符

于 2012-10-02T16:26:09.487 回答