C# 为什么数据令牌在路由中?
在我的路线文件中,我有上述路线 那么,有谁能告诉我C# 为什么数据令牌在路由中?,c#,asp.net-mvc-2,routes,C#,Asp.net Mvc 2,Routes,在我的路线文件中,我有上述路线 那么,有谁能告诉我dataTokens:new{scheme=Uri.UriSchemeHttps的意思吗 以及在控制器的操作方法中使用上述数据令牌,依据: 您可以使用DataTokens属性检索或分配与路由关联的值,这些值不用于确定路由是否与URL模式匹配。这些值将传递给路由处理程序,可在其中用于处理请求 因此,DataTokens是一种可以通过路由传递的附加数据。有3个DataToken的密钥是预定义的(下面的类来自ASP.NET MVC 4的源代码,但在版本
dataTokens:new{scheme=Uri.UriSchemeHttps
的意思吗
以及在控制器的操作方法中使用上述数据令牌,依据:
您可以使用DataTokens属性检索或分配与路由关联的值,这些值不用于确定路由是否与URL模式匹配。这些值将传递给路由处理程序,可在其中用于处理请求
因此,DataTokens是一种可以通过路由传递的附加数据。有3个DataToken的密钥是预定义的(下面的类来自ASP.NET MVC 4的源代码,但在版本2中使用相同的密钥):
我不认为框架使用名为“scheme”的DataToken,因此很难回答您的问题。您可能希望搜索自定义应用程序代码以查找DataTokens[“scheme”]
,并查看需要它的位置和原因
编辑:
我发现了。有一个使用“scheme”数据令牌的例子。所以我很确定您的应用程序使用它的方式非常相同。我不认为
dataTokens
是MVC 3中MapRoute
的一个参数。@vonv.对不起。实际上它应该是MVC 2。我已经更正了。请检查一下。
context.MapRoute("authorized-credit-card", "owners/{ownerKey}/authorizedcreditcard/{action}",
new { controller = "authorizedcreditcard", action = "index" },
new { ownerKey = nameFormat }, dataTokens: new { scheme = Uri.UriSchemeHttps });
internal class RouteDataTokenKeys
{
public const string UseNamespaceFallback = "UseNamespaceFallback";
public const string Namespaces = "Namespaces";
public const string Area = "area";
}