我想用查詢字符串中的控制器發送GET請求的一些參數。我使用[FromQuery]
將查詢字符串內部的所有參數都設置爲Dictionary<string, string>
。它運行良好,直到參數名稱中的一個包含點(.
)符號。我檢查了Request.Query
對象,它看起來很好解析,但我的Dictionary對象得到這個,確切的項目是錯誤的。所以它看起來像[FromQuery]
活頁夾中的錯誤,或者我做錯了什麼。 ASP.NET核心FromQuery獲取內部帶點符號的無效參數
這是發送貌似查詢字符串如何: ?query=&InspectionType=Safety&ItemType=InspectionPoint&RecordParentGUID=9275bee2-0a2d-461c-8835-51880e76f035&parent.ResultClassCode=parent.ResultClassCode
事實上,你應該文件中http://github.com/aspnet/mvc的bug報告。您可以查看DictionaryModelBinderProvider的代碼,這是負責綁定到字典的類。 –
你有'。'嗎?點字符在uri中逃脫了? https://msdn.microsoft.com/en-us/library/system.uri.escapeuristring(v=vs.110).aspx –
@MichalHainc我發現點號是未預留的字符,所以不需要對它們進行編碼: https://stackoverflow.com/questions/1455578/characters-allowed-in-get-parameter –