所以我有这个页面,它将显示数据库中的单个记录。所以我的网址看起来像:
mysite.com/Vehicle/Edit/1
或者它可能会以 2、3、4、5 等结束。取决于它的记录。基本上我需要这个页面中的一个链接,它将带我到另一个页面,但在 url 中具有相同的值,所以它可能看起来像:
mysite.com/Owner/Add/1
或者它可能以 2、3、4、5 等结尾。取决于链接所在的记录。
我如何使用 C# MVC 执行此操作,如果有任何区别,我使用 Razor。谢谢
所以我有这个页面,它将显示数据库中的单个记录。所以我的网址看起来像:
mysite.com/Vehicle/Edit/1
或者它可能会以 2、3、4、5 等结束。取决于它的记录。基本上我需要这个页面中的一个链接,它将带我到另一个页面,但在 url 中具有相同的值,所以它可能看起来像:
mysite.com/Owner/Add/1
或者它可能以 2、3、4、5 等结尾。取决于链接所在的记录。
我如何使用 C# MVC 执行此操作,如果有任何区别,我使用 Razor。谢谢
您将需要使用其中一个Html.ActionLink
助手。
假设您将 a 传递Model
给具有名为 的属性的视图Id
。你可以这样使用Html.ActionLink
:
@Html.ActionLink("Add Owner", "Add", "Owner", new { id = Model.Id }, null)
第一个参数是链接将显示的文本。第二个参数是Action
要调用的名称。第三个参数是所在的名称Controller
。Action
第四个参数是 的路由值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
请参阅此帖子以获取 URL。如何在 MVC 3 中获取当前页面 URL
一旦你有了 url,你就可以在最后的 '/' 之后挑选尾随字符