令我惊讶的是,没有一篇文章对这个问题有任何详细的回答。我有几个关于RouteData.Values[""]的问题。
我看到了下面的代码:
public ActionResult Index()
{
ViewBag.Message = string.Format("{0}---{1}--{2}",
RouteData.Values["Controller"],
RouteData.Values["action"],
RouteData.Values["id"]);
return View();
}在这里,它基本上是在读取值,这些值听起来可能像控制器的“元数据”。或者是View也可以传递给Controller的东西?
发布于 2015-03-03 11:40:39
RouteData.Values用于访问由处理路由的类插入的值/查询字符串值。
在您的示例中,您的路由配置类中定义的路由具有额外的参数,这些参数将被提供给这些参数。
参数是controller,action,id。
这些参数的参数应该已经在代码中的某处提供了。
当你从更高的级别开始时,它会更有意义,这样你就知道你在搜索什么。
protected void发送器(object Application_Start,EventArgs e) { routingActions.RegisterCustomRoutes(RouteTable.Routes);}
RegisterCustomRoutes(RouteCollection routes) {routes.MapPageRoute(“RouteCollection creates”,routes.MapPageRoute“~/RegisterCustomRoutes/SearchDetails.aspx”);}
linkToDetails.HRef =GetRouteUrl(“RouteData.Values""”,{ orderID = someOrderID,PageIndex = currentPageIndex,PageSize = PageSize });
Convert.ToInt32(Page.RouteData.Values"PageIndex");Convert.ToInt32(Page.RouteData.Values"PageSize");Page_Load(object sender,EventArgs e) { var _orderid = Page.RouteData.Values"orderID".ToString();var _PageIndex =Page.RouteData.Values var _PageSize =}
发布于 2018-09-06 14:45:02
RouteData是基本控制器类的属性,因此您可以在任何控制器中访问RouteData。RouteData包含当前请求的路由信息。您可以使用RouteData获取控制器、操作或参数信息,如下所示。
请注意,您需要转换为适当的数据类型或使用隐式类型变量var。
https://stackoverflow.com/questions/28823084
复制相似问题