【发布时间】:2019-11-04 03:41:50
【问题描述】:
我使用 blazor 和 .net core 3.0 来开发一个允许在 URL 中传递一些参数的网站。
问题是每当我在 URL 中传递越南语关键字时,blazor 都会引发出现在浏览器控制台上的内部异常。
请注意我无法使用 Encode URL 提取该信息,因为 blazor 在 OnAfterRenderAsync 调用之前会自行引发异常
工作
https://localhost:44316/?keyword=tieng viet
https://localhost:44316/?keyword=tieng%20viet
不工作
https://localhost:44316/?keyword=tiếng việt
https://localhost:44316/?keyword=tiếng%20việt
https://localhost:44316/?keyword=ti%E1%BA%BFng%20vi%E1%BB%87t
如何重现:
- 只需使用 .net core 3.0 创建一个全新的 blazor 项目。
- 然后启动项目并尝试使用这些 url。
=>由于我这里没有添加任何额外的代码,所以 blazor 不应该抛出任何异常
感谢您的帮助!
【问题讨论】:
-
这能回答你的问题吗? URL Encode and Decode in ASP.NET Core
-
@mjwills 我不这么认为,因为默认情况下 blazor 应该可以完美处理任何参数。我们可以稍后解码参数值就可以了。问题是 blazor 自己抛出异常
-
第1步,blazor不应该抛出异常,第2步我们可以解码参数,得到我们需要的东西。
-
如果你使用我建议的 URL 是否有效?
标签: .net blazor asp.net-core-3.0 blazor-server-side