C# 使用ASP.NET从控制器的操作中从URL获取ID?

C# 使用ASP.NET从控制器的操作中从URL获取ID?,c#,asp.net,asp.net-mvc,controller,action,C#,Asp.net,Asp.net Mvc,Controller,Action,我使用asp.net MVC,当我在以下url www.mywebapp.com/MyController/AnotherAction/123时,我从MyController调用一个动作(让我们称之为MyAction) 我需要在我的操作中获得123,因此我开始这样做: var url = Request.Url; 为了解析它,然后获取ID 但我不确定这是否是最好的方法。您知道当我正常且安全地执行操作时,如何从当前URL获取ID吗?您可以从RouteData获取此信息: var url = Ur

我使用asp.net MVC,当我在以下url www.mywebapp.com/MyController/AnotherAction/123时,我从MyController调用一个动作(让我们称之为MyAction)

我需要在我的操作中获得123,因此我开始这样做:

var url = Request.Url;
为了解析它,然后获取ID


但我不确定这是否是最好的方法。您知道当我正常且安全地执行操作时,如何从当前URL获取ID吗?

您可以从
RouteData
获取此信息:

var url = Url.RequestContext.RouteData.Values["id"];

您可以从URI获取id,如下所示:


合作伙伴:

public ActionResult Index(int id)
    {
//if you want use in view you can save id in view bag
        ViewBag.ID = id;
        Your Code......
        return View(...);
    }

并考虑到查看包的使用

视图:



现在变量中有了一个ID

为什么不为操作创建一个参数来获取该IDdata@Arjuna我的操作是由一个外部库创建的,我不确定是否可以添加另一个参数,我不知道如何将它添加到这个库中
@{  
    ViewBag.Title = "Index";
    var ID = ViewBag.ID;
}