.Net MVC ActionLink внутри кнопки не работает

У меня есть кнопка действия внутри кнопки, которая, кажется, не работает:

<div style="position:absolute; top:0px; right:60px;">
    <button class="btn-top btn-vitae shadow-bottom">
        <a href="/Help" target="_blank">Help</a>
    </button>
</div>

Ссылка должна идти на ActionResult Index в HelpController:

public class HelpController : Controller
{
    //
    // GET: /Help/

    public ActionResult Index()
    {
        return View();
    }
} 

Я что-то пропустил?

4 ответа

Решение

Если память не работает, их нужно поменять местами

<a href="@Url.Action("Index", "Help")"><input type="button" class="btn-top btn-vitae shadow-bottom" /></a>

Замещать href="/Help" с @(Url.Action("Index", "Help"))

Используя Url.Action, вы будете уверены, что правильный URL-адрес генерируется независимо от того, какую маршрутизацию вы используете.

Еще один способ - использовать Html.ActionLink (вместо Anchor Tag) -

@Html.ActionLink("Help", "Index", "Home", null, new { target = "_blank" })

Ваша ссылка действия должна включать имя контроллера и имя действия, как это

<a href="/Help/Index" target="_blank">Help</a>

или на стороне сервера, как предложено @ssimeonov

Другие вопросы по тегам