найти ссылающуюся страницу в asp.net mvc после перенаправления jquery - PullRequest
2 голосов
/ 31 марта 2009

Я подделываю автоответчик, используя jquery, так как я использую asp.net mvc. Это выполняется в списке выбора (раскрывающемся списке), например:

$(document).ready(function() {
    // autopostback for character drop down list
    $('#playerCharacters').change(function() {
        var charId = $('#playerCharacters option:selected').val();
        window.location = "/Character/SetDefault/" + charId;
    });
});

Сейчас в / Character / SetDefault / [charID] (контроллер, действие, ID) Я пытаюсь получить доступ к ссылающемуся URL, используя это:

Request.UrlReferrer

Но это ноль. Есть идеи, почему это так?

1 Ответ

1 голос
/ 06 апреля 2009

Я думаю, что установка window.location напрямую обрабатывается браузером так же, как и пользователь, непосредственно вводящий новый URL в адресную строку. Это означает, что реферера нет, поскольку рефереры - это одна страница, прямо ссылающаяся на другую (например, по ссылке), а не браузер, просто переходящий на другую страницу ...

Самый простой способ решить вашу проблему - убедиться, что ваш выпадающий список находится в форме, которая отправляет (или получает) в / Character / SetDefault, а затем заставляет ваш javascript отправлять форму следующим образом:

$('#playerCharacters').change(function() {
    this.form.submit();
});

Затем вам просто нужно изменить действие SetDefault в контроллере, чтобы иметь параметр playerCharacters, чтобы MVC правильно связывал значение запроса формы с вашим методом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...