2010-11-02 94 views
0

我有一個網址,將採取以下形式:路由與MVC一個GUID在ASP.NET

/AuditReview/Review/15d49a66-5c11-492c-921f-9e1700bd2618 

我不能得到這個路線,我的路線是這樣的:

MvcRoute.MappUrl("{controller}.mvc.aspx/{action}/{auditEventUid}") 
     .WithDefaults(new {controller = "AuditReview", action = "Review"}) 
     .WithConstraints(new { controller = "AuditReview", action ="Review", auditEventUid = new GuidConstraint() }); 

    MvcRoute.MappUrl("admin/{controller}.mvc.aspx/{action}") 
     .WithDefaults(new { controller = "audit", action = "index" }) 
     .WithConstraints(new{controller = "audit"}) 
     .AddWithName("admin", routes); 

    MvcRoute.MappUrl("{controller}.mvc.aspx/{action}") 
     .WithDefaults(new {action = "Index"}) 
     .AddWithName("Default", routes); 

任何人都可以提出一條路線來完成這項工作?

回答

0

這應該工作 - 我能夠映射一個更簡單的場景罰款。您可以使用更簡單的路線(例如,默認的「{controller} .mvc/{action}/{id}」路線)來使用此場景嗎?

您是否嘗試刪除GuidConstraint或測試以確保GuidConstraint有效?也許這工作不正常。

1

您當前的路由規則將要求您使用訪問網址:

/AuditReview.mvc.aspx/Review/15d49a66-5c11-492c-921f-9e1700bd2618 

如果你正在運行IIS 7或有足夠的訪問服務器安裝wildcard mapping你可以從你的路由刪除.mvc.aspx規則和您的原始網址將起作用。

+0

我發佈的網址是錯誤的,即使使用.mvc.aspx擴展名,它仍然沒有路由 – dagda1 2010-11-02 17:41:58

+0

您的其他路線是否可以工作(如管理員?)還是隻是這條路線? – 2010-11-02 18:30:15

+0

其他路線工作正常,包括管理員。 – dagda1 2010-11-02 21:47:09