Правильный ли мой подход в использовании asp mvc controller и javascript как этот? - PullRequest
2 голосов
/ 26 января 2012

На данный момент у меня есть MasterPage в проекте ASP.NET MVC3 с функцией animesearch

function AnimeSearch() {
                alert(document.getElementById('anime').value);
                window.location = "Paging/AnimeBySearch?searchstring=" + (document.getElementById('anime').value);
            }

Что я делаю, я набираю аниме-фильм в HTML-тег ввода и он возвращает правильные значения соответственно.

Как видно, моя функция JavaScript вызывает мой контроллер, а затем функцию с правильными параметрами (из входных данных).

Однако пара вопросов.

First так как эта функция находится на моей главной странице и вызов контроллера довольно статичен, конечно, происходит следующее. Когда я получаю свой результат после, например, поиска «Наруто», я нахожусь в контроллере подкачки. Если я хочу другой аниме-фильм, то, конечно, из-за моего статического местоположения контроллер больше не работает. Это мой первый вопрос, каков самый чистый и правильный способ справиться с этим (не хаки, пожалуйста, сделал это, работает, но не является хорошим кодированием)?

Второй Является ли мой подход правильным (вызов контроллера и таких действий из javascript)?

Ответы [ 2 ]

2 голосов
/ 26 января 2012
function getBaseUrl()
{
   return "@Url.Content("~/")";
}

function AnimeSearch(baseUrl) {
   alert(document.getElementById('anime').value);
   window.location = getGetBaseUrl() + "/Paging/AnimeBySearch?searchstring=" +     (document.getElementById('anime').value);
}
0 голосов
/ 26 января 2012

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

будет обновляться, когда на Terra Firma ...

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