используйте @ Ajax.ActionLink, чтобы открыть форму - PullRequest
4 голосов
/ 16 февраля 2012

Я хочу использовать @ Ajax.ActionLink для всплывающего окна формы, поэтому я сделал это на своей странице cshtml:

   @Ajax.ActionLink("click ", "AddToMembers", new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "result", InsertionMode = InsertionMode.Replace, OnSuccess = "openPopup" })
   <div id="result" style="display:none;"></div>

и добавил этот скрипт:

      <script type="text/javascript">
          $(document).ready(function () {
              $("#result").dialog({
                  autoOpen: false,
                  title: 'Title',
                  width: 500,
                  height: 'auto',
                  modal: true
              });
          });
          function openPopup() {
              $("#result").dialog("open");
          }
</script>

в моем контроллередобавил эту функцию:

 [HttpGet]
    public PartialViewResult AddToMembers()
    {
        return PartialView();
    }

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

1 Ответ

7 голосов
/ 16 февраля 2012

Я подозреваю, что вы забыли включить следующий скрипт на свою страницу:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>

Этот скрипт используется для AJAXify привязки, сгенерированной помощником Ajax.ActionLink.Также, если вы используете диалоговое окно jQuery, убедитесь, что вы ссылались на пользовательский интерфейс jQuery:

<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.js")" type="text/javascript"></script>
...