как удалить текст после "localhost" в браузере? - PullRequest
0 голосов
/ 03 июля 2019

Я новичок в MVC.Я проверил свой сайт в режиме отладки.Пока проблем нет.Но когда я развернул его на моем локальном хосте, у меня возникли проблемы "POST http://localhost/Home/GetEnumerationList 404 (Not Found)".Похоже, что не удалось вызвать действие в контроллере.Когда я смотрю на адрес, он показывает, как это "http://localhost/mymvcsite" вместо этого" http://localhost". У меня также есть тест с использованием Почтальона, когда я запускаю сообщение как это "http://localhost/mymvcsite/Home/GetEnumerationList" только тогдая получу результат.

Есть ли способ, которым я могу настроить свой iis для удаления "mymvcsite" из "http://localhost/mymvcsite"?

Вот JQuery для вызова Action вконтроллер.

<script>
    var popup, dataTable;

    $(document).ready(function () {
        dataTable = $("#batchTable").DataTable({
            "ajax": {
                "url": "/Home/GetEnumerationList",
                "type": "POST",
                "datatype": "json"
            },

            "columns": [
                { "data": "EnumType", "name":"EnumType" },
                { "data": "EnumValue", "name": "EnumValue"  },
                { "data": "EnumText", "name": "EnumText"  },
                { "data": "IsDeleted", "name": "IsDeleted" },
                {
                    "data": "EnumId", "render": function (data) {
                        return "<a class='btn btn-default btn-sm' onclick=PopupForm('@Url.Action("AddOrEdit","Home")/" + data +"')><i class='fa fa-pencil'></i> Edit</a><a class='btn btn-danger btn-sm'  style='margin-left: 5px' onclick=Delete(" + data +")><i class='fa fa-trash'></i> Delete</a>";
                    },
                    "orderable": false,
                    "searchable": false,
                    "width": "150px"
                },

            ],

            "processing": "true",
            "serverSide": "true",
            "order": [0, "asc"]
        });
    });

    function PopupForm(url) {
        var formDiv = $('<div/>');

        $.get(url)
            .done(function (response) {
                formDiv.html(response);



                popup = formDiv.dialog({
                    autoOpen: true,
                    resizable: false,
                    title: "Add Enum",
                    height: 470,
                    width: 300,
                    close: function () {
                        popup.dialog('destroy').remove();
                    }
                });
            });
    }

    function SubmitForm(form) {
        $.validator.unobtrusive.parse(form);

        if ($(form).valid()) {
            $.ajax({
                type: "POST",
                url: form.action,
                data: $(form).serialize(),
                success: function (data) {
                    if (data.success) {
                        popup.dialog('close');
                        dataTable.ajax.reload();

                        $.notify(data.message, {
                            globalPosition: "top center",
                            className: "success"
                        })
                    }
                }
            });
        }
        return false;
    }

    function Delete(id) {
        if (confirm("Are you sure you want to delete this data?")) {
            $.ajax({
                type: "POST",
                url: '@Url.Action("DeleteEnum", "Home")/' + id,
                success: function (data) {
                    if (data.success) {
                        dataTable.ajax.reload();
                        $.notify(data.message, {
                            globalPosition: "top center",
                            className: "success"
                        })
                    }
                }
            }
            )
        }
    }
</script>

Надеюсь, кто-нибудь может помочь мне в этом.

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Вместо добавления сайта в качестве виртуального каталога «Веб-сайт по умолчанию», я добавляю новый веб-сайт и указываю на мой физический путь к веб-корню.Я надеюсь, что это поможет кому-нибудь в будущем.

0 голосов
/ 03 июля 2019

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

routes.MapRoute(
   name: "Default",
   url: "{controller}/{action}/{id}",
   defaults: new { controller = "mymvcsite", action = "Index", id = UrlParameter.Optional }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...