从控制器创建的我的ActionLink不工作

时间:2017-02-02 16:49:00

标签: asp.net-mvc asp.net-mvc-4

我正在尝试使用@ Html.ActionLink创建链接,该链接使用ViewBag从控制器传递到视图。 这是我在控制器中的代码

public ActionResult Index()
{
     ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";

     **ViewBag.Link = "@Html.ActionLink(\"Click\", \"About\", \"Home\");";**

     return View();
}

在我看来,我正在使用这个

<h1>@ViewBag.Title.</h1>
<h2>@ViewBag.Message</h2>
**@ViewBag.Link** 

但我的输出不是链接,而是以字符串形式出现(即@Html.ActionLink("Click", "About", "Home");),如下图所示

enter image description here

我甚至尝试使用@Html.Raw(@ViewBag.Link),但它仍然与上图相同。

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:1)

它显示为字符串,因为它是一个字符串,浏览器无法对该服务器端代码执行任何操作。

在视图中调用帮助程序作为代码,不要将其作为字符串传递给视图。像这样:

<h1>@ViewBag.Title.</h1>
<h2>@ViewBag.Message</h2>
@Html.ActionLink("Click", "About", "Home")

将它作为一个字符串传递只会告诉视图将该字符串发送到输出,它在你的代码中尽职尽责。