JqGrid, дать ID сетки в качестве параметра - PullRequest
0 голосов
/ 22 декабря 2011

Я хотел бы динамически сгенерировать JqGrid.Для этого я делаю цикл по списку для создания содержимого HTML.

     @foreach(string clientCode in ViewBag.Codes)
     {
        <table class="jqgCode" id="jqgCode+@clientCode" cellpadding="0" cellspacing="0"></table>
        <div id="pjqgCode+@clientCode" style="text-align:center;"></div>
     }

Я динамически генерирую идентификатор сетки со значением уникального кода.

В основномсетка будет иметь тот же формат, что будут изменены только данные, а код - это параметр, который изменит запрос SQL.Итак, что я хочу сделать, это получить идентификатор сетки, чтобы дать моё действие в моем контроллере.

Вот что я пытаюсь сделать:

<script type="text/javascript">
$(document).ready(function () {
    $('.jqgCode').jqGrid({
        //url from wich data should be requested
        url: '@Url.Action("CodeDetail")',
        //type of data
        datatype: 'json',
        //url access method type
        mtype: 'POST',
        postData: {code: $(this).attr('id')},
        .........
      });
 });

Когда яСмотрю в методе действия «Кодовая информация» в режиме отладки, я вижу, что у меня есть нулевое значение в параметре «Код».

Как я могу сделать, чтобы идентификатор сетки в моем контроллере.Может быть, есть лучший способ сделать то, что я хочу сделать, поэтому все советы хороши.

Заранее спасибо!

1 Ответ

1 голос
/ 22 декабря 2011

Одна проблема состоит в том, что $('.jqgCode') должен возвращать ровно один элемент ($('.jqgCode').length должно быть 1).Если вы этого не сделаете, у вас может быть две сетки, использующие один и тот же URL ('@Url.Action("CodeDetail")') и дубликаты идентификатора в данных, возвращаемых с сервера.

В случае, если $('.jqgCode').length равно 1, выможно переписать ваш код JavaScript следующим образом:

$(document).ready(function () {
    var $myGrid = $('.jqgCode'), gridId = $myGrid.attr('id');
    $myGrid.jqGrid({
        url: '@Url.Action("CodeDetail")',
        datatype: 'json',
        mtype: 'POST',
        postData: {code: gridId},
        .........
      });
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...