在ViewComponent中通过普通字符串创建archon,然后通过Html.Raw()呈现

问题描述 投票:0回答:1

我在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

现在一切都还可以。

当我想在下一页使用我的导航去其他地方的时候,浏览器会显示我的网址:qazxsw poi但它正在渲染正确的qazxsw poi

问题:如何防止这种行为?

PS:我做了一些额外的测试,当我在剃刀视图中创建执政官并使用http://localhost:55830/sklep/sklep/rowery<a class="text-light" href="sklep/rowery"> Rowery</a>一切都很好。

PS2使用qazxsw poi渲染创建普通字符串 - qazxsw poi - 所以它不起作用

我现在无法重写ViewComponent。

asp-controller=""

asp.net-core routing
1个回答
0
投票

我真的不知道为什么<a asp-controller=\"" + v.Controller.ToLower() + "\" asp-action=\"" + v.Value + "\"><a class="text-light" asp-controller="sklep" asp-action="rowery">Rowery</a>名称添加到现有的enter image description here,但为了达到我的目标,我添加了一个完整的routing system然后controller停止乱七八糟

© www.soinside.com 2019 - 2024. All rights reserved.