Найти URL страницы содержимого в MVC 4, используя jQuery / Javascript

У меня есть приложение MVC4, которое содержит представления и частичные представления.

1) Просмотр страниц (Home.cshtml, Index.cshtml)

2) PartialViews (View1.cshtml, View2.cshtml, View3.cshtml)

3) У меня есть 3 кнопки (Button1,Button2,Button3) на странице www.example.com/Home

Кнопки

<button id="btn1" type="button" onclick="btn1Click(this);"> View1 </button>
<button id="btn2" type="button" onclick="btn2Click(this);"> View1 </button>
<button id="btn3" type="button" onclick="btn3Click(this);"> View1 </button>

При нажатии на эти кнопки я отображаю соответствующие частичные виды на домашней странице (раздел контента). Я написал этот код в функции Javascript (btn1Click (кнопка)) в файле.js. Если у нас есть больше частичных представлений для отображения на содержимом домашней страницы, то как мы можем отслеживать путь (путь к файлу нашего проекта) этих частичных представлений с помощью jQuery/Javascript. Если мы используем

Window.location.href

мы получим основной URL (www.example.com/Home page), но когда пользователь нажимает эти кнопки (button1/button2/button3), мне нужно найти путь к частичному представлению, кроме пути к проекту (ProjectName/PartilaViews/View1). cshtml) или (ProjectName/PartilaViews/View2.cshtml) или (ProjectName/PartilaViews/View3.cshtml) с использованием jQuery/Javascript.

Я не хочу менять функциональность / процедуру (процесс выше),

2 ответа

Попробуй это:

window.location.href='@Url.Action("action name", "controller name")'

и actionresult от вашего контроллера вернет частичное представление.

-------------------------------------------------- -----------ИЛИ ЖЕ-------------------------------------- ----------------------------

var partial = '@Html.Partial("Partial view name")'

variable partial вернет HTML из частичного просмотра.

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

$(document).ajaxComplete(function (event, xhr, settings) {
        if (settings.type == "GET")
        {
            var vGETUrl = settings.url;
            alert(vGETUrl);
        }
});

Приведенный выше код захватывает запросы "GET" с вашего сайта. Вы можете перейти по ссылке ниже для получения более подробной информации

http://api.jquery.com/category/ajax/

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