์ต์ปค ํ๊ทธ ๋์ฐ๋ฏธ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ง์ ๊ธฐ์กด URL์ ๊ฒฝ๋ก๋ฅผ "์ถ๊ฐ"ํ๊ณ ์ถ์ต๋๋ค. ์๋ฅผ ๋ค์ด URL์ด /search?q=foo
์์ต๋๋ค.
ํด๋น ํ์ด์ง์ ์ต์ปค๋ฅผ ๋ง๋ ๋ค์ URL์ &z=bar
๋ฅผ ์ถ๊ฐํ๊ณ ์ถ์ต๋๋ค.
๋ค์์ ์๋ํ์ต๋๋ค.
<a asp-route-z="bar">Load</a>
ํ์ง๋ง /search?z=bar
๊ฐ ์์ฑ๋ฉ๋๋ค.
/search?q=foo&z=bar
๋ฅผ ์์ฑํ๊ณ ์ถ์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ํ ์ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค.
<a asp-route-q="@query["q"]" asp-route-z="bar">Load</a>
๊ทธ๋ฌ๋ ๋ด ํ์ด์ง์ ๊ฐ๋ฅํ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ด ๋ง์ ๋ ํญ์ ์ ๋ ฅํ๊ณ ์ถ์ง ์์ต๋๋ค. ๊ธฐ์กด ํ์ด์ง URL์ ์ ์ฟผ๋ฆฌ ๋ฌธ์์ด ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ๋ฎ์ด์ฐ๊ณ ์ถ์ต๋๋ค.
๊ธฐ์กด ํ๊ทธ ๋์ฐ๋ฏธ๋ก ๊ฐ๋ฅํฉ๋๊น ์๋๋ฉด ์ฌ์ฉ์ ์ ์๊ฐ ํ์ํฉ๋๊น?
@kspearrin ์ฃ์กํฉ๋๋ค. ํ์ฌ TagHelper
์์ฒญํ์ ์์
์ ์ํํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ธ๊ธํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ ์ ํ ๋์์
๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ผ์ฐํ ์ ๊ทธ๋ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ง๋ง ์ด๊ฒ์ ๋ฏธ๋์ ๋ฉ์ง ๊ธฐ๋ฅ์ด ๋ ์ ์์ต๋๋ค.
@kspearrin ๋๋ ์ด๊ฒ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ํ์ฅ ๋ฉ์๋๋ก ๋์ด์์ ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
<a asp-all-route-data="Context.Request.Query.ToDictionary(q => q.Key, q => q.Value.ToString())" asp-route-z="bar" />
์ด ๊ธฐ๋ฅ์ ๊ตฌํํ ๊ณํ์ด ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@kspearrin ๋๋ ์ด๊ฒ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ํ์ฅ ๋ฉ์๋๋ก ๋์ด์์ ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
<a asp-all-route-data="Context.Request.Query.ToDictionary(q => q.Key, q => q.Value.ToString())" asp-route-z="bar" />