2013-05-02 16 views
6
context.MapRoute("authorized-credit-card", "owners/{ownerKey}/authorizedcreditcard/{action}", 
new { controller = "authorizedcreditcard", action = "index" }, 
new { ownerKey = nameFormat }, dataTokens: new { scheme = Uri.UriSchemeHttps }); 

在我的路由文件中,我有以上種類的路由。爲什麼dataTokens在路由中?

那麼,有誰能告訴我dataTokens: new { scheme = Uri.UriSchemeHttps是什麼意思?

以上使用dataTokens裏面的控制器的動作方法?

+0

我不認爲'dataTokens'是MVC 3中的'MapRoute'的參數。 – 2013-05-02 13:13:19

+0

@vonv。抱歉。其實它應該是MVC 2.我已經糾正它。 Plz檢查。 – Sampath 2013-05-02 13:32:44

回答

7

根據the documentation

您使用DataTokens屬性檢索或分配與不用於確定路由是否一個URL模式匹配的路由相關的值。這些值被傳遞給路由處理程序,它們可以用於處理請求。

所以DataTokens是一種可以與路線一起傳遞的附加數據。有3個DataToken的按鍵被預定義(類下面來ASP.NET MVC 4,但相同的密鑰形式的源代碼版本2中使用):

internal class RouteDataTokenKeys 
{ 
    public const string UseNamespaceFallback = "UseNamespaceFallback"; 
    public const string Namespaces = "Namespaces"; 
    public const string Area = "area"; 
} 

我不認爲這個框架使用DataToken命名爲「計劃「,所以很難回答你的問題。您可能需要搜索您的自定義應用程序代碼DataTokens["scheme"],並查看需要的地方和原因。

編輯:

我發現an article on "Adding HTTPS/SSL support to ASP.NET MVC routing"。有一個使用「scheme」數據令牌的例子。所以我很確定你的應用程序以相同的方式使用它。

相關問題