ASP Net Core路由中如何处理'+'? 我有一个像这样定义的路线:
Var2 Var1 group id new_var1 new_var2
1 a b f 1 1 1
2 a c f 2 1 2
3 a d f 3 1 3
4 a e f 4 1 4
5 b a g 5 1 1
6 b c g 6 1 2
7 b d g 7 1 3
8 b e g 8 1 4
9 c a f 9 5 2
10 c b f 10 2 3
11 c d f 11 2 4
12 c e f 12 2 5
13 d a i 13 1 1
14 d b i 14 1 2
15 d c i 15 1 3
16 d e i 16 1 4
17 e a f 17 6 3
18 e b f 18 3 4
19 e c f 19 6 5
20 e d f 20 3 6
函数的参数是string [] words,string type,string search2
使用不同的URL:
"/Test/{words}/{type:regex(^(AA|BB|CC)$)}/{search2}"
=> 404 /Test/word1+word2/AA/blablabla
=>好的,words = {“word1 word2”} /Test/word1%20word2/AA/blablabla
=>好的,words = {“word1”,“word2”} 我不明白404.任何想法为什么会发生?我会用空格翻译'+'。
答案 0 :(得分:1)
你必须编码一个空格;将空格编码为+是正确的,但仅在查询字符串中;在路径中你必须使用%20。对于+,您可以使用%2b。 (第1.1节)