Обработка объектов и маршрутов с помощью MVC3 / Razor? - PullRequest
0 голосов
/ 14 июня 2011

У меня есть геособрание, содержащее такие элементы, как: [имя штата] [город], [штат] [страна]

Пользователь может ввести текстовое поле для ввода текста и поле автозаполнения jQuery.Заполнение отображает возможные варианты.

Структура URL-адреса запроса на публикацию будет зависеть от того, какой вариант был выбран из вышеупомянутой коллекции, например www.mysite.com/allstates/someterms (если выбрана страна) www.mysite.com / city-штат / someterms (если выбран город, штат) www.mysite.com/[state name] / someterms (если выбран штат)

Они уже определены в моих маршрутах.

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

Вот моя функция jQuery для отображения сведений о коллекции при нажатии клавиши в текстовом поле:

    $(function () {
        $("#txtGeoLocation").autocomplete(txtGeoLocation, {
            source: function (request, response) {
                $.ajax({
                    url: "/home/FindLocations", type: "POST",
                    dataType: "json",
                    selectFirst: true,
                    autoFill: true,
                    mustMatch: true,
                    data: { searchText: request.term, maxResults: 10 },
                    success: function (data) {
                        response($.map(data, function (item) {
                            return { label: item.GeoDisplay, value: item.GeoDisplay, id: item.GeoID }
                        }))
                    }
                })
            },
            select: function (event, ui) {
                alert(ui.item ? ("You picked '" + ui.item.label + "' with an ID of " + ui.item.id)
                    : "Nothing selected, input was " + this.value);
                document.getElementById("hidLocation").value = ui.item.id;
            }
        });
    });

Я хотел бы иметь структуру URLоснованный на параметре объекта (кажется самым простым).Я могу только читать параметры на "выбранном", а не на нажатие кнопки.

Как мне это сделать?

Спасибо.

1 Ответ

0 голосов
/ 15 февраля 2012

Чтобы решить эту проблему, я удалил часть select: из Javascript и добавил параметры выбранного объекта в маршрут MVC, отправленный моему контроллеру.

...