Загрузите страницу с методами страницы внутри тега div внутри MasterPage - PullRequest
0 голосов
/ 22 июля 2011

У меня есть MasterPage, который будет отображаться на каждой странице приложения, и я пытаюсь загрузить «LoginBox», который использует PageMethods внутри тега Div в этой MasterPage

До сих пор я пытался сделать какЯ бы сделал на странице контента, попытался преобразовать его в пользовательский элемент управления и попытался с помощью серверной части включить (<! - # include file = "LoginBox.aspx" ->) Ни один не удалось.

Iс помощью firebug можно увидеть, что веб-ресурсы загружаются, но javascript PageMethods не создается ни одним из этих методов.

Я REALLY , пытаясь избежать необходимости создаватьWebService для этого, и перемещение LoginBox не вариант, я бы предпочел отказаться от идеи MasterPage, но тогда обслуживание стало бы адом.

Мне нужны идеи или указания на это.Любая помощь приветствуется

Ответы [ 2 ]

0 голосов
/ 23 июля 2011

Похоже, ты болтаешь классического осина с ASP.NET

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

даже тогда, однако, вы обнаружите, что ваши попытки компонентизировать ваш код все равно приведут к беспорядку. рассмотрите возможность перехода на ASP.NET MVC, если можете. с этим вы можете делать намного более подходящие и более чистые вещи, чтобы поддерживать чистоту вашей кодовой базы.

0 голосов
/ 23 июля 2011

Я успешно работал с iframe, загруженным из javascript, для меня это уродливое решение, но все же одно. Я открыт для лучших решений

<script type="text/javascript"> 
    (function () {
        var e = document.createElement('iframe');
        e.setAttribute("src", "LoginBox.aspx");
        e.setAttribute("scrolling", "no");
        e.setAttribute("frameborder", "0");
        e.setAttribute("height", "73px");
        e.setAttribute("width", "225px");
        e.setAttribute("marginheight", "0px");
        e.setAttribute("marginwidth", "0px");
        e.async = true;
        document.getElementById('loginboxd').appendChild(e);
    } ());
</script>
...