JQGrid и .NET MVC - загрузка результатов поиска - PullRequest
1 голос
/ 10 марта 2010

Хорошо, я новичок в jQuery, но JQGrid заинтересовал меня. При реализации сетки я столкнулся с двумя проблемами, которые я не знаю, как решить. Оба включают загрузку сетки с результатами.

  1. Как вы загружаете сетку, когда у вас есть параметры в вашем маршруте. Например, http://domain.com/search/results/2010/KY...I хочу получить все результаты, соответствующие 2010 в Кентукки. В разделе javascript инициализации сетки мне нужно указать URL (например, / search / gridResults /). Как передать другим значениям маршрута или хотя бы использовать их для загрузки сетки.

  2. Тот же вопрос, но более того, когда страница загружается опубликованными значениями формы из формы поиска.

Возможно, URL в основном связан с функциями AJAX-y. Было бы неплохо сортировать и пейджировать с помощью AJAX, но загружать сетку с помощью AJAX не обязательно.

Извините за длинный пост, но я уверен, что другие сталкивались с этой проблемой, хотя Google говорит мне иначе :) PS - Я посмотрел блоги Фила Хаака (sp?) И Крэйга что-то об использовании JQGrid, но ни один не коснулся загрузка предварительно определенных результатов поиска.

1 Ответ

0 голосов
/ 10 марта 2010
  1. Вы можете указать это непосредственно с помощью клавиши 'url'. например: /search/gridResults/2010/KY
  2. Я на самом деле использую для этого собственный ключ javascript в ключе postData jqgrid (который вы можете использовать для решения вопроса 1 в зависимости от ситуации). Мне показалось немного отстойным, что мне пришлось написать этот метод, но я нашел что-то в Интернете и продолжал взламывать его, чтобы сделать его достаточно гибким для моих нужд.

Код для пользовательского метода ниже. Он читает параметры из URL напрямую. Для параметров POST, вам, очевидно, нужно сделать что-то еще, но чтобы получить их в jqgrid, это та же идея:

// Read a page's GET URL variables and return them as an associative array.
function getUrlVars() {
  var vars = [], hash;
  var hashes = window.location.href.slice(
    window.location.href.indexOf('?') + 1
  ).split('&');
  for(var i = 0; i < hashes.length; i++) {
    hash = hashes[i].split('=');
    if (hash.length == 2) {
      vars.push(hash[0]);
      vars[hash[0]] = decodeURIComponent(hash[1].replace("+", "%20"));
    }
  }
  return vars;
}

Надеюсь, это поможет ... Если вы придумаете что-нибудь получше, я бы с удовольствием это услышал. :)

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