2017-02-02 6 views
0

Я пытаюсь создать ссылку, используя @ Html.ActionLink, которая передается с контроллера для просмотра с помощью ViewBag. Вот мой код в контроллереMy ActionLink, созданный с помощью контроллера, не работает

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

Вы делаете это не в том месте. этот синтаксис должен выполняться в представлении, а не в контроллере. – Nkosi

ответ

1

Он отображается как строка, потому что это строка, и браузер ничего не может сделать с этим кодом на стороне сервера.

Вызовите помощника в виде как код, не передавайте его в виде строки. Что-то вроде этого:

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

Передача его в виде строки только говорит вид испускать эту строку на выход, который он прилежно делает в своем коде.