ViewBag.htmml = "<li>" + "Html.ActionLink(" + "Home" + ", " + "Dashboard" + ", " + "User" + ")" + "</li>";
上面是我的代码,我正在尝试在我的视图中呈现ActioLink
。当代码运行时,使用以下代码,我没有获得名为Home的actionlink,而是在Html.ActionLink(Home, Dashboard, User)
部分获得<li>
。如何使用我正在尝试的方式获取ActionLink。
@Html.Raw(ViewBag.htmml)
答案 0 :(得分:0)
正如@Stephen Muecke所提到的,HTML需要在View中生成,而不是在Controller中生成。
但是,如果您坚持在Controller中创建它,则需要HtmlHelper
可以调用ActionLink
方法。但是,顾名思义,HtmlHelper
仅在视图中自动为您提供。
你可以手动创建一个(例如使用this answer的解决方案),但这样效率很低且容易出错。
但是,由于您只是尝试生成<a>
元素,并且您已经自己创建了元素(例如<li>
元素),您可以简单地执行此操作(使用控制器中 的UrlHelper
:
ViewBag.htmml = "<li><a href=\"" +
Url.Action("Dashboard", "User") +
"\">Home</a></li>";