所以我有这个页面,它将显示数据库中的单个记录。所以我的网址将如下所示:
mysite.com/Vehicle/Edit/1
或者它可以结束它2,3,4,5等...取决于它的记录。基本上我需要一个链接在这个页面,它将带我到另一个页面,但在网址中具有相同的值,所以它可能看起来像:
mysite.com/Owner/Add/1
或者它可能以2,3,4,5等结尾。取决于链接所在的记录。
如何使用C#MVC执行此操作,即使使用Razor,如果这有任何区别。 感谢
答案 0 :(得分:3)
您需要使用其中一个Html.ActionLink
助手。
假设您正在将Model
传递给您的视图,其中包含名为Id
的属性。您可以像这样使用Html.ActionLink
:
@Html.ActionLink("Add Owner", "Add", "Owner", new { id = Model.Id }, null)
第一个参数是链接将显示的文本。
第二个参数是要调用的Action
的名称。
第三个参数是Controller
所在的Action
的名称。
第四个参数是Action
的路由值。
第五个参数是html属性。假设您要在链接中添加class
。您可以使用new { @class = "my-link-class" }
而不是null。注意课前的@
。那是因为class
是保留字。如果您设置style
,则只需执行此操作:new { style = "background-color: #ffffff;" }
。
所有这一切都假设您的添加Action
接受int id
。所以像这样:
public ActionResult Add(int id)
{
// Do stuff.
}
以下是我在示例中使用的特定Html.ActionLink
重载的文档:http://msdn.microsoft.com/en-us/library/dd504972(v=vs.108).aspx
答案 1 :(得分:0)
请参阅此帖子以获取网址。 How to get current page URL in MVC 3
获得网址后,您可以在最后的'/'
之后选择跟踪字符