отправить ajax запрос публикации из частичного просмотра на asp. net основных страницах бритвы - PullRequest
0 голосов
/ 20 июня 2020

Я пытаюсь отправить POST Ajax из частичного просмотра. это мое частичное представление:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="../css/simple-sidebar.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<link rel="stylesheet" href="~/css/simple-sidebar.css">

<div id="sidebar">
    <div class="toggle-btn" onclick="toggleSidebar()">
        <span></span>
        <span></span>
        <span></span>
    </div>
    <div id="links">
        <a href="" onclick='MainTabs()' id="tab1">tab1</a>

    </div>
</div>

<script type="text/javascript">

    function MainTabs() {
        console.log('first');

        $(document).ready(function () {
            $.ajax({
                url: "/Main/getddl",
            type: "POST",
            dataType: "json",
                success: function (response) {
                    console.log(Session["switch"]);
                console.log('ok');
            },
            failure: function (response) {
                console.log('error');
            }
            });
        });
    }
</script>

Это родительский код .cs:

publi c class MainModel: PageModel {

    public void getddl()
    {
        HttpContext.Session.SetString("ddl", "ddl");
    }

}

У меня напечатано «сначала» в консоли, но тут же появляется ошибка, и ошибка не сохраняется и исчезает через c.

POST https://localhost: 33444 / getddl 404

1 Ответ

0 голосов
/ 20 июня 2020

Я обнаружил, что проблема является причиной такого поведения. У меня есть боковая панель, и есть активный метод:

function toggleSidebar() {
        document.getElementById("sidebar").classList.toggle('active');
    }

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

$(document).ready(function () {

        $('#MainTabs').click(function () {
            //e.preventDefault();
            //$('.sidebar a').removeClass('active');
            //$(this).addClass('active');
            var id = $(this).attr("id");
            $('#' + id).siblings().find(".active").removeClass("active");
            $('#' + id).addClass("active");
            localStorage.setItem("selectedolditem", id);
            var fullName = $('#texboxFullName').val();
            alert(id);
            $.ajax({
                type: 'GET',
                data: { fullName: fullName },
                url: '@Url.Page("Main", "Demo2")',
                success: function (result) {
                    $('#result2').html(result);
                }
            })
        });
    });

Есть помощь?

...