2012-02-23 42 views
1

我正在使用MVC3應用下面的路線MVC路由器引發的URL無效字符

context.MapRoute("RoutName", "GetReport/{Id1}/{Id2}/{requestId}/{customerId}/ 
{CustomerVersion}/{Code}", new {controller= "ControllerName",action = "GetReport" }); 

這條線路工作正常以下網址在本地環境

http://localhost/ControllerName/GetReport/104334/120531211240541002/120531211240551002 
/120531211237331002/1/Code 

但在服務器我我得到了「由於URL中的無效字符而導致訪問被阻止」。 MVC中URL的長度是否有限制?

任何輸入都會很好。

+1

請問這個問題對你有幫助嗎:http://stackoverflow.com/questions/1185739/asp-net-mvc-url-routing-maximum-path-url-length? – Marthijn 2012-02-23 10:05:52

+0

我看了一下鏈接,網址長度似乎少於150個字符。我不知道我的情況是什麼問題。 – Nayan 2012-02-23 12:19:22

回答

1

我已經在一個空的MVC3項目中實現了你的代碼,但是我不能觸發你的錯誤,這裏的代碼工作正常。

的ActionLink:

@Html.ActionLink("Test", "GetReport", "Home", new { Id1 = 104334, Id2 = 120531211240541002, requestId = 120531211240551002, customerId = 120531211237331002, CustomerVersion = 1, Code = "Code" }, null) 

的ActionResult:

public ActionResult GetReport(string Id1, string Id2, string requestId, string customerId, string CustomerVersion, string Code) 
     { 
      return new EmptyResult(); 
     } 

是什麼在你的版本有什麼不同?

+0

看起來像服務器中的問題是由於其他組件,現在它似乎正常工作。謝謝你對它進行挖掘。 – Nayan 2012-02-24 07:26:55

+0

沒問題,很高興我能幫上忙。 – Marthijn 2012-02-24 09:25:35