asp.net MVC - Как сделать мастер / страницу с подробностями - PullRequest
3 голосов
/ 06 февраля 2009

Я хочу создать главную страницу / страницу сведений. Я вижу, что это работает одним из двух способов:

  • При щелчке строки в сетке снова вызывается та же страница с добавлением панели сведений.
  • Щелчок по строке вызывает вызов javascript / JSON к действию контроллера, которое возвращает детали и заполняет панель.

Я бы хотел, чтобы выбранная строка была выделена. Выбранная строка может быть несколькими страницами в виде постраничной сетки.

Звучит просто. К сожалению, я новичок в asp.net MVC, и я не опытный программист. Тем не менее, я могу следовать и адаптировать примеры. Я был бы признателен за примеры обоих вышеперечисленных методов, которые помогут мне выучить MVC.

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

1 Ответ

4 голосов
/ 06 марта 2009

Чтобы ответить на мой вопрос:

В итоге я использовал PartialViews и jQuery.

Нажатие на ссылку выбора для строки приводит к добавлению новой строки ниже выбранной (с использованием jQuery). В этой строке я использую jQuery для GET / PurchaseOrder / Detail (PartialView).

Вот мой Javascript:

function GetDetails(id, enableEdit) {

        var detailsRowExists = $().find("#detailsRow").size();

        if (detailsRowExists) {
            // Delete details row
            // Note: need to rename id for row to be deleted
            // because jQuery does not wait for the row to be
            // deleted before adding the new row.
            $("#detailsRow").attr("id", "detailsRowOld");
            $("#detail").slideUp("normal", function() {
                $("#detailsRowOld").remove();
            });
        };


        // Put new row below selected one
        $("tr[id=" + id + "]").after("<tr id='detailsRow'><td colspan='4'><div id='detail'><img src='../../Content/wait20trans.gif' />Loading...</div></td></tr>");

        // Pull details into new row
        $.get("/PurchaseOrder/Detail/" + id, { enableEdit: enableEdit },
            function(data) {
                $("#detail").hide();
                $("#detail").html(data);
                $("#detail").slideDown("normal");
            }
        );

    }

Надеемся, что это может помочь другим, пытающимся достичь главной страницы / страницы с подробностями.

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