MVC: Как получить представление View из div - PullRequest
0 голосов
/ 13 октября 2009

В моем проекте MVC, кроме одного из моих представлений, у меня есть некоторый JQuery, который открывает диалоговое окно, содержимое которого определено в теге

Есть ли способ, которым я могу обеспечить содержимое View / PartialView, которое заполняется из моего контроллера следующим образом:

    public ActionResult PopulateDivContent()
    {
        MyBusinessEntity entity = GetEntity();
        return PartialView("SingleRow", MyBusinessEntity);
    }

Как бы я поступил так?

1 Ответ

1 голос
/ 13 октября 2009

У меня есть несколько jQuery, который загружает частичное представление на страницу. Частичное представление представляет собой форму загрузки для прикрепления изображений.

Вот js / jQuery:

            function addAnImageClick() {
                // hide this
                $("a#addImage").hide();
                // show loading gif
                $("img.addAnImageLoadingGif").show();
                // invoke ajax get
                $.get("/FileManager/GetUploadForm", 
                    { postUrl: "/Announcements/UploadImageToAnnouncement", modelID: <% =Model.ID %>, multipleFiles: false }, 
                    function(data) {
                    // show upload form
                    $("div#imageUploader").html(data);
                    $("div#imageUploader").show();
                    // hide loading gif
                    $("img.addAnImageLoadingGif").hide();
                });
            }

Как вы видите, я скрываю ссылку, по которой пользователь щелкает, чтобы запустить эту функцию, затем отображает gif загрузки для обратной связи пользовательского интерфейса, а затем вызывает ajax-вызов для контроллера. Я также передаю некоторые ценности в действие. Как только ответ возвращается, я загружаю содержимое в div с этой строкой: $("div#imageUploader").html(data);. Div был скрыт с помощью css display:none, который затем я показываю и заканчиваю, удаляя загрузочный gif из видимости.

Вот действие:

    //
    // GET: /FileManager/GetUploadForm/?uploadAction=actionName&modelID=1234&multipleFiles=true
    public class GetUploadFormDTO
    {
        public string PostUrl { get; set; }
        public int ModelID { get; set; }
        public bool MultipleFiles { get; set; }
    }
    [KsisAuthorize()]
    public ActionResult GetUploadForm(string postUrl, string modelID, string multipleFiles)
    {
        GetUploadFormDTO model =
            new GetUploadFormDTO()
            {
                PostUrl = postUrl,
                ModelID = Convert.ToInt32(modelID),
                MultipleFiles = Convert.ToBoolean(multipleFiles)
            };

        return PartialView("UploadFormPartial", model);
    }

Надеюсь, это поможет. : D

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