通过在ViewComponent处的纯字符串创建执政官,然后由Html.Raw()渲染

时间:2019-04-19 01:56:09

标签: asp.net-core routing

我正在通过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。

enter image description here

1 个答案:

答案 0 :(得分:0)

我真的不知道为什么routing system在现有的controller上加上url名称,但是为了达到我的目标,我在{ {1}},然后url address停止混乱