Всплывающее окно в MVC 3 - PullRequest
       2

Всплывающее окно в MVC 3

0 голосов
/ 06 декабря 2011

Эй, frenz В моем проекте MVC 3 мне нужно всплывающее окно.На самом деле, когда пользователь нажимает кнопку редактирования, мне нужно показать всплывающее окно «Изменить вид» и сохранить отредактированные данные в базе данных.

Просто мне нужно заменить страницу просмотра редактирования всплывающим окном редактирования.,Я знаю, что мне нужно использовать ajax и jquery.Но запутайте, как это реализовать.

Итак, любая идея по этому поводу будет принята с благодарностью

Ответы [ 4 ]

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

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

 <!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
 <html>
 <head>
 <title>LIGHTBOX EXAMPLE</title>
 <style>
 .black_overlay{
 display: none;
 position: absolute;
 top: 0%;
  left: 0%;
  width: 100%;
   height: 100%;
  background-color: black;
  z-index:1001;
  -moz-opacity: 0.8;
 opacity:.80;
 filter: alpha(opacity=80);
}
 .white_content {
  display: none;
  position: absolute;
  top: 25%;
  left: 25%;
  width: 50%;
  height: 50%;
  padding: 16px;
  border: 16px solid orange;
  background-color: white;
  z-index:1002;
  overflow: auto;
  }
  </style>
  </head>
  <body>
  <p>This is the main content. To display a lightbox click <a href = “javascript:void(0)” onclick = “document.getElementById(‘light’).style.display=’block’;document.getElementById(‘fade’).style.display=’block’”>here</a></p>
  <div id=”light” class=”white_content”>This is the lightbox content. <a href = “javascript:void(0)” onclick = “document.getElementById(‘light’).style.display=’none’;document.getElementById(‘fade’).style.display=’none’”>Close</a></div>
  <div id=”fade” class=”black_overlay”></div>
  </body>
  </html>

Событие Onclick, которое необходимо отобразить в этом элементе управления пользователя.Я использовал объект JSON для этого.Код Javascript выглядит следующим образом.

function ShowPopups(cntrlId, controllerName, actionName, className, id) {
  var url = controllerName + "/" + cntrlId;
 elementId = id;
  $.ajax(
  {
    type: "POST",
    url: "/" + controllerName + "/" + actionName,
    data: "Display=" + cntrlId,
    dataType: "html",
    success: function (result) {
        removeClass('light1');
        changeClass('light1', className);
        document.getElementById('light1').style.display = 'block';
        document.getElementById('fade1').style.display = 'block'
        $("#light1").html(result);
    }
});

}

 function HidePopup() {
   var url = document.location.hash;
   document.getElementById('fade1').style.display = 'none';
  document.getElementById('light1').style.display = 'none';
   document.location.hash = url;
}

 // To Add and Remove class using javascript 

 function removeClass(elementID) {
  var element = document.getElementById(elementID);
  element.className = '';
}

function changeClass(elementID, newClass) {
   var element = document.getElementById(elementID);
   element.className += newClass;

}

0 голосов
/ 06 декабря 2011

Я также рекомендую диалоговое окно модели Jquery UI, но вы хотите попробовать что-то еще, вот список JQuery Model PopUp Samples

0 голосов
/ 06 декабря 2011

Многие другие учебные пособия посвящены не тому, как на самом деле редактировать данные, а только тому, как показать диалог. Когда вы попытаетесь опубликовать свою форму, все окно будет опубликовано и изменено.

Метод диалога jQuery ui иногда ведет себя довольно забавно, и проверка не будет работать по умолчанию, если вы не проанализируете только что загруженный контент. С учетом вышесказанного лучший общий код, который я недавно обнаружил, - это решение для загрузки и отправки ajax.

http://nickstips.wordpress.com/2011/08/11/asp-net-mvc-ajax-dialog-form-using-jquery-ui/

0 голосов
/ 06 декабря 2011

вы можете использовать диалоговое окно модели JQuery (используйте форму модели), это действительно просто, вот документация с примерами.http://jqueryui.com/demos/dialog/#modal-form

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