我正在通过ViewComponent
而不是razor view
后面的代码创建导航。该代码生成一个字符串,然后使用@Html.Raw(Model.msg)
来呈现导航。
nav += "<a class=\"text-light\" href=\"" + v.Controller.ToLower() + RouteUrl.Slash + v.Value + "\"> " + v.DisplayName + "</a>";
正在渲染-<a class="text-light" href="sklep/rowery"> Rowery</a>
我要去http://localhost:55830/sklep/rowery
现在一切正常。
当我想在下一页上使用导航导航到其他地方时,浏览器会显示以下网址:
http://localhost:55830/sklep/sklep/rowery
但其呈现核心<a class="text-light" href="sklep/rowery"> Rowery</a>
问题:如何防止此类行为?
PS:我做了一些其他测试,当我在剃刀视图中创建执政官并使用asp-controller=""
和asp-action=""
时,一切正常。
PS2 使用<a asp-controller=\"" + v.Controller.ToLower() + "\" asp-action=\"" + v.Value + "\">
创建纯字符串
渲染-<a class="text-light" asp-controller="sklep" asp-action="rowery">Rowery</a>
-如此有效
我现在无法重写ViewComponent。
答案 0 :(得分:0)
我真的不知道为什么routing system
在现有的controller
上加上url
名称,但是为了达到我的目标,我在{ {1}},然后url address
停止混乱