Частичное представление MVC для отображения вызова Всплывающее окно с использованием jquery - PullRequest
1 голос
/ 22 апреля 2010

У меня есть страница индекса, которая отображает объекты из моей базы данных в виде дерева, каждый элемент имеет ссылку href = "/ MessageGroupType / Edit / 1002, которая вызывает Ajax для отображения частичного представления в DIV.

В частичном представлении есть кнопка удаления, которая вызывает мой контроллер для удаления элемента.

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

В моем частичном представлении «Правка» у меня есть следующий код

<asp:PlaceHolder runat="server">
        <script src="<%= Url.Content("../../Scripts/JQuery/jquery-1.4.1.min.js") %>" type="text/javascript">
        </script>
</asp:PlaceHolder>


<script type="text/javascript" >
     $(function() {
         $("#dialog").dialog();
     });

</script>

  <% if (Boolean.Parse(ViewData["DisplayWindow"].ToString())){%>
     <div id="dialog" title="Cannot Delete Message Group Type">
             <p>This Mesage group Type Cannot be deleted as is linked to other message group Types </p>
             </div>
     <% }%>

Итак, мои основные вопросы

  1. Могу ли я сделать ссылку на сценарий javascript в моем частичном представлении (я не хочу, чтобы моя главная страница вызывалась при частичном просмотре)
  2. Когда я динамически загружаю частичное представлениеданные в мой DIV - могу ли я после вызова моего контроллера вставить другой DIV в первый DIV.
  3. Я делаю это неправильно, поэтому любые указатели приветствуются

Приветствия

1 Ответ

1 голос
/ 22 апреля 2010

В виде дерева вы можете добавить Ajax.ActionLink с параметром OnFailure в AjaxOptions, который будет указывать на ваш $("#dialog").dialog();

В вашем контроллере, если пользователь не может удалитьrecord ассоциирует неверный код запроса (Response.StatusCode = (int)HttpStatusCode.BadRequest;) с вашим HttpResponse, поэтому будет вызываться ваша функция OnFailure (и отображается ваше всплывающее окно).

Не забудьте связать функцию OnSuccess с вашим Ajax.ActionLink, если запись была удалена

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