如何在C#MVC中获取URL值并将其放在Html.ActionLink中

时间:2012-10-02 16:20:14

标签: c# asp.net-mvc url html.actionlink

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

mysite.com/Vehicle/Edit/1

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

mysite.com/Owner/Add/1

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

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

2 个答案:

答案 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

获得网址后,您可以在最后的'/'

之后选择跟踪字符