如何渲染actionlink来查看表单控制器

时间:2015-01-28 07:21:37

标签: asp.net-mvc-5 actionlink

 ViewBag.htmml = "<li>" + "Html.ActionLink(" + "Home" + ", " + "Dashboard" + ", " + "User" + ")" + "</li>";

上面是我的代码,我正在尝试在我的视图中呈现ActioLink。当代码运行时,使用以下代码,我没有获得名为Home的actionlink,而是在Html.ActionLink(Home, Dashboard, User)部分获得<li>。如何使用我正在尝试的方式获取ActionLink。

 @Html.Raw(ViewBag.htmml)

1 个答案:

答案 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>";