Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
kirsanv43
16 / 3 / 1
Регистрация: 05.11.2013
Сообщений: 49
1

Закрывается диалоговое окно при попытке ajax-ом обновить в нем контент

05.08.2014, 20:27. Просмотров 500. Ответов 1
Метки нет (Все метки)

При нажатии на кнопку на форме, появляется диалоговое окно
Кликните здесь для просмотра всего текста

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//отключаем кеширование запроса
$.ajaxSetup({ cache: false });
 
$(document).ready(function () {
 
    //событие по клику объекта класса openDialog
    $(".openDialog").live("click", function (e) {
 
        //отмена действия по умолчанию 
        e.preventDefault();
 
        var loadRoute = this.href;
 
        var successfunction = $(this).attr("data-dialog-successfunction");
 
        var self = this;
 
        //создаем диалог
        $("<div></div>")
            .addClass("dialog")
            .attr("id", $(this).attr("data-dialog-id"))
            .appendTo("body")
            .dialog({
                title: $(this).attr("data-dialog-title"),
                close: function () { $(this).remove(); },
                width: $(this).attr("data-dialog-width"),
                height: $(this).attr("data-dialog-height"),
                modal: true,
                resizable: false,
                draggable: false,
                position: ['center', 'center']
            })
            .load(loadRoute, function (response, status, xhr) {
                if (status == 'error') {
                    $(".dialog").dialog("close");
                    console.log("error" + response + xhr);
                } else {
                    $(this).css('height', '');
                    $(this).dialog("option", "position", ['center', 'center']);
                }
            });
    });
});

после чего в нем при нажатии на кнопку необходимо обновить содержимое


Dialog
C#
1
2
3
4
5
6
7
8
9
10
11
12
@model MvcApplication1.Models.DBDataModel.DialogModel
 
@{
    ViewBag.Title = "Dialog";
}
 
@if (Model.Value == 0) {Model.Value++;}
 
<div id="content_my">
   @Html.Partial("_ParticleDialog",Model)
</div>
@*@Ajax.ActionLink("text", "Dialog", "Home", Model, new AjaxOptions { UpdateTargetId = "content_my" })*@

_ParticleDialog
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
@model MvcApplication1.Models.DBDataModel.DialogModel
 
 
 
@using (Ajax.BeginForm("Dialog", "Home", FormMethod.Post,
                    new AjaxOptions
                    {
                        InsertionMode = InsertionMode.Replace,
                        HttpMethod = "POST",
                        UpdateTargetId = "updateDialog"
                        
                    }))    // Modal dialog form
{
    @Html.ValidationSummary()
 
    <fieldset id="updateDialog">
        <legend>Dialog1</legend>
        
        @Html.LabelFor(m => m.Value)
        @Html.TextBoxFor(m => m.Value)
        @Html.ValidationMessageFor(m => m.Value)
        
        
        <input type="submit" value="dwdwdw"/>
    </fieldset>
    
   
    }


Control
C#
1
2
3
4
5
6
7
8
9
 public ActionResult Dialog(DBDataModel.DialogModel model)
        {
            if (Request.IsAjaxRequest())
            {
                model.Value += 1;
                return PartialView("Dialog", model);
            }
            return RedirectToAction("Index");
        }

Собственно все работает, за исключением того, что при нажатии на кнопку Request.IsAjaxRequest() возвращает false, после страница полностью обновляться с закрытием диалогового окна.

Также были попытки добиться желаемого результата при помощи @Ajax.ActionLink, но результат тот же.

Подскажите в чем проблема ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.08.2014, 20:27
Ответы с готовыми решениями:

При попытке обновить запись в базе данных вываливается ошибка Syntax Error из-за пробелов в тексте.
В Textarea загружается из базы данных(MSSQL server) текст с пробелами, где этот текст может...

CommandField: после действия в этом поле окно закрывается, как сделать чтоб окно оставалось открытым
Использую jquery чтоб открыть диалоговое окно по ссылке, в открываемом окне добавил GridView в нем...

Как при AJAX запросе открыть модальное окно
Запрос @Ajax.ActionLink(&quot;Детали&quot;, &quot;Details&quot;, &quot;Admin&quot;, new { id = item.ID }, new...

Как создать диалоговое окно QDialog, а в нем QTreeView (содержит таблицу из БД) + Кнопки добавления и удаления записи в дереве(через QPushButton)
Создаю базу в MySQL из одной таблицы. Помогите пожалуйста создать проэкт. Я только начала учить...

Программа закрывается при попытке запуска на XP х86
Вечер добрый. Есть идеи почему программа может закрываться на Windows XP (x86) ? Или надо приводить...

1
y-fox
518 / 510 / 68
Регистрация: 19.09.2011
Сообщений: 826
06.08.2014, 09:08 2
скорее всего не подключили js файл:
jquery.unobtrusive-ajax.js
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2014, 09:08

При попытке добавления формулы программа закрывается
При попытке добавления формулы программа закрывается и выдаёт следующую ошибку: Началось это...

OllyDbg при попытке открыть прогу сразу закрывается
Пытаюсь открыть прогу. Все время при попыкке хотя бы открыть ее в Ольке- трижды вылазит окно с...

Браузер Chrome самопроизвольно закрывается при попытке прикрепить вложение
Добрый день! Проблема состоит в том, что при попытке прикрепить вложение к письму браузер Chrome...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru