Я работаю в .Net Framework , используя шаблон MVC . У меня есть ссылка (которая работает) , которая выглядит следующим образом:

<li><a href="@Url.Action("HomePage", "Home")">Main Page</a></li>

В приведенной выше ссылке «HomePage» - это имя страницы .cshtml, и в контроллере есть метод с тем же именем, который возвращает представление. Второй параметр, «Home», является подпапкой в Views, где находится страница .cshtml.

Теперь, в другом разделе того же представления, у меня есть кнопка, которая при нажатии должна перейти в то же место. Это выглядит так:

<input type="button" class="navigationButtons" id="btnHome" value="Main Page" />

Поскольку я использую таблицу стилей .css для навигационных кнопок, мне очень хотелось бы поместить код для перехода на главную страницу с помощью кнопки в JavaScript. Итак, я создал переменную jQuery и связал ее с событием .on ("click", onHome). У меня есть следующий метод:

onHome = function () {
    var url = '@Url.Action("HomePage", "Home")';
    window.location.href = url;
}

Я также пробовал window.open («Домашняя страница», «Домой»); Наряду со всем, что я мог найти, безрезультатно. Важно: я не хочу, чтобы представление открывалось в новом окне; предполагается, что он открывается точно так же, как в ссылке (которая отображает представление внутри представления структуры, подобно встроенному представлению в главном меню, которое принадлежит странице основного приложения).

Я узнал, что если я использую тип кнопки вместо типа ввода в html, я могу включить ссылку для onClick, но у меня тоже есть проблемы с этим. Похоже, все примеры содержат полный URL. Но я пытаюсь открыть представление в рамках. У меня нет полного URL.

У кого-нибудь есть идеи, как сделать этот тип навигации из JavaScript? Если нет, или есть лучший способ в html, то мне не терпится получить ответ.

0
Patricia 21 Мар 2017 в 18:44

2 ответа

Лучший ответ

Просто добавьте класс в тег.

<a href="@Url.Action("HomePage", "Home")" class="navigationButtons" autocomplete="off" data-loading-text="Loading Main Page...">Main Page</a>
2
Shan 21 Мар 2017 в 17:45

Не могли бы вы использовать Html-помощник actionlink с вашим классом «Кнопки навигации»?

@Html.ActionLink("Home", "Index", "Home", new { @class = "navigationButtons" })
3
Ehsan Sajjad 21 Мар 2017 в 17:20