powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему div не показывается на экране
25 сообщений из 42, страница 1 из 2
Почему div не показывается на экране
    #38687192
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
https://www.udemy.com/blog/jquery-popup-window/

Почему div id="hello" не показывается на экране сразу, а только в попапе ?

Сохранил текст в html и работает.
Но почему-то в моей cshtml странице, и текст дива сразу показывается, и при нажатии на кнопку ничего не происходит.
Причем даже если все референсы на конкретные версии jQuery скопировал. Вообще не пойму почему.
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687196
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tualПочему div id="hello" не показывается на экране сразу, а только в попапе ?потому что вот эта строка
Код: javascript
1.
$( "#hello" ).dialog({ autoOpen: false });

прячет его при загрузке документа
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687203
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересно, почему ж у меня не прячет, а сходу на экране показывает.
У меня Index.cshtml который студия 2013 сгенерила когда я создал New Internet Application (MVC4)

Отчего может зависеть ?
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687205
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tualу меняочень сложно увидеть ваш cshtml-файл на таком расстоянии и через стену (
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687226
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм, я сделал тотальное новое вью, и попап показался
А что тогда может мешать ему на нынешней странице (она довольно хаотична)

Код: 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.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
@model IEnumerable<DAL.ORM.AdvConstruct>

@{
    ViewBag.Title = "Advertisement constructions";
    WebGrid grid = new WebGrid(Model);
}

<link href="@Url.Content("~/Content/themes/base/minified/jquery-ui.min.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.24.min.js")" type="text/javascript"></script>
<link href="@Url.Content("~/Content/Grid.css")" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="https://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">

<script type="text/javascript">

    $(document).ready(function() {

        $("#hello").dialog({ autoOpen: false });
        $("#say_it").click(function () {
            $("#hello").dialog("open");
        });

        $(".editDialog").live("click", function (e) {
            var url = $(this).attr('href');
            $("#dialog-edit").dialog({
                title: 'Edit Advertisement Construct',
                autoOpen: false,
                resizable: false,
                height: 455,
                width: 550,
                show: { effect: 'drop', direction: "up" },
                modal: true,
                draggable: true,
                open: function (event, ui) {
                    $(this).load(url);

                },
                close: function (event, ui) {
                    $(this).dialog('close');
                }
            });

            $("#dialog-edit").dialog('open');
            return false;
        });

    });
</script>

<h2>List of constructions </h2>

@grid.GetHtml(columns: new[]
{
    grid.Column("Id"),
    grid.Column("Description"),
    grid.Column("MaintenanceTime", header: "Maintenance Time", format: p => p.MaintenanceTime.ToShortDateString(), style: "maintenanceTimeColumn"),
    grid.Column("Location", style: "locationColumn"),
    grid.Column("Height", style: "heightColumn"),
    grid.Column("Width", style: "widthColumn"),
    grid.Column("MonthlyCost", header: "Monthly Cost", style: "monthlyCostColumn"),
    grid.Column("AdvConstructType", header: "Construction Type", format: p => p.Description, style: "advConstructTypeColumn"),
    grid.Column("", header: "Actions",
                    format: @<text>
            @Html.ActionLink("Edit", "EditConstruct", new { id = item.Id, @class = "editDialog" })
            |
            @Html.ActionLink("Delete", "Delete", new { id = item.Id })
                        </text>
                )
}
)

@Html.ActionLink("Add new construction", "Add")
@Html.ActionLink("PopupTest", "Index", "PopupTest")

<div id="dialog-edit" style="display: none">
</div>

<button id="say_it">Say "Hello!"</button>
<div id="hello" title="Hello  World!">
    <p>
        <font face="Georgia" size="4">
            Hey, world, I just said "Hello!"
        </font>
    </p>
</div>



Кстати, другая ерунда с диалогом по линку Edit. Диалог показывается просто на месте текущей страницы
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687241
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://stackoverflow.com/questions/18860508/why-jquery-doesnt-work-on-a-page-defined-in-layout
Это помогло с попапом Hello

Остался второй вопрос.
Почему когда кликаю Edit - у меня получается не попап, а его содержимое заместо основной страницы ?
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687245
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а EditConstruct у вас возвращает частичное представление?
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687252
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 public ActionResult EditConstruct(int id)
        {
            var data = advConstructRepository.Get(id);

            AdvConstructModel model = new AdvConstructModel
            {
                Id = data.Id,
                Description = data.Description,
                MaintenanceTime = data.MaintenanceTime,
                Location = data.Location,
                Height = data.Height,
                Width = data.Width,
                MonthlyCost = data.MonthlyCost,
                AdvConstructType = advConstructRepository.GetAdvConstructType(data.AdvTypeId)
            };

            ViewBag.IsUpdate = true;
            return PartialView("EditConstruct", model);
        }



Что View что PartialView одинаково на весь тот же самый экран
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687256
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну на весь экран в диалоге? Или без диалога?
Смотрите в браузере результирующий html...
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687257
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исходный код показывает только форму, никаких html и body тегов
С таким урлом - http://localhost:8484/Home/EditConstruct/5?class=editDialog
ну и внутри уже мой EditConstruct.cshtml
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687262
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Форма даже рабочая, изменение полей изменяет данные в гриде (по кнопке Update конечно)
Но по исходному коду нет включения jQuery скриптов, только лиш тег form
А скрипты вообще в cshtml попапа прописаны
Код: c#
1.
2.
3.
4.
5.
6.
@section Scripts {
    <script src="~/Scripts/jquery-1.8.2.min.js"></script>
    <script src="@Url.Content("~/Scripts/jquery-ui-1.8.24.min.js")" type="text/javascript"></script>
    <script src="~/Scripts/jquery.validate.min.js"></script>
    <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
}
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687263
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть вы пишете ссылки на скрипты внутри подгружаемого аяксом контента?
феерически оригинально

во-первых секция script рендерится только при рендеринге мастер-страницы на сервере, очевидно, что при подгрузке аяксом никакого рендеринга главной страницы не происходит

во-вторых, ссылки на внешние скрипты надо разместить в мастер-странице, а не тащить их в каждое частичное представление.
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687268
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так у автора статьи
http://www.dotnetcodesg.com/Article/UploadFile/2/286/CRUD operation using Modal Popup in ASP.NET MVC 4.aspx
Там это все называется EditEmployee

Я по сути пытаюсь сделать по аналогии
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687271
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, у вас не происходит POST при нажатии на ссылку, а происходит обычный GET
Стало быть, у вас не повисла функция live на клике по экшену, то есть на экшене скорее всего нет нужного класса. Зачем у вас собака перед словом class?
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687273
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вам вместо примера лучше сначала почитать учебник, как работает MVC, как работает jQuery...

кроме того, вы пользуетесь какими-то устаревшими источниками, функция live в jQuery устарела и будет исключена в дальнейших версиях, тэг font устарел и невалиден в html5....
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687275
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как раз за тем, чтобы обработать клик на всем что имеет класс editDialog
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687282
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, собака там затем, что class - ключевое слово, это я сразу не сообразил.

Before jQuery 1.7, to stop further handlers from executing after one bound using .live(), the handler must return false. Calling .stopPropagation() will not accomplish this.в этом скорее всего дело
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687283
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да я уже на простой клик переписал, толку 0

Код: 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.
 $(document).ready(function () {

        $("#dialog-edit").dialog({
            title: 'Edit Advertisement Construct',
            autoOpen: false,
            resizable: false,
            height: 455,
            width: 550,
            show: { effect: 'drop', direction: "up" },
            modal: true,
            draggable: true,
            open: function (event, ui) {
                $(this).load(this.href);

            },
            close: function (event, ui) {
                $(this).dialog('close');
            }
        });

        $(".editDialog").click(function (e) {
            $("#dialog-edit").dialog('open');
        });

    });
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687287
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tualПричем даже если все референсы на конкретные версии jQuery скопировалнеправда ваша, у автора используется jQuery 1.7, а у вас 1.8, возможно из-за этого обработка хендлера в live ведет себя иначе, в общем, переходите на on и stopPropagation
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687288
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tualДа я уже на простой клик переписал, толку 0stopPropagation
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687294
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: c#
1.
2.
3.
4.
5.
 $(".editDialog").click(function (e) {
            event.preventDefault();
            event.stopPropagation();
            $("#dialog-edit").dialog('open');
        });



Хоть то, хоть то, хоть оба вместе, ничего не изменилось
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687295
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
 $(".editDialog").click(function (e) {
            event.preventDefault();
            event.stopPropagation();
            $("#dialog-edit").dialog('open');
        });

надо ж не тупо копипастить, а еще и думать ))
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687296
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вообще, у вас отладчик JS ошибки не показывает или вы им принципиально не пользуетесь?
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687297
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
No luck. Смотрю варианты на stackoverflow, все вроде тривиально просто, но там получается, тут нет
...
Рейтинг: 0 / 0
Почему div не показывается на экране
    #38687299
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
покажи два готовых html-а
изначальный и тот частичный, который возвращается EditConstruct
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему div не показывается на экране
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]