Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / обновить label находящийся за пределами updatepanel / 8 сообщений из 8, страница 1 из 1
05.05.2012, 03:28
    #37783045
Lasa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновить label находящийся за пределами updatepanel
Помогите разобраться, не могу обновить текст в label.
На странице есть label, в которой выводится сообщение и image,который должен стать видимым при ошибке.
Есть Updatepanel и на ней кнопка. При нажатии на кнопку идет проверка и если ошибка, нодо показать image и вывести текст в lable.

Я не могу положить image и label на Updatepanel.

Сейчас делаю так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
 
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
             ErrorMessage(message);
        }
       protected void ErrorMessage(string message)
        {
            ScriptManager1.RegisterDataItem(lblError2, message);
        }


Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
    <div id="divError" class="errorBox">
        <asp:Image ID="imgWarning2" ImageUrl="~/Images/warning.png" runat="server" Visible="False" />
        <asp:Label ID="lblError2" runat="server" Text=""></asp:Label>
    </div>
        <div class="bottomButtons">
            <asp:UpdatePanel ID="upnlPlaceOrder" runat="server">
                <ContentTemplate>
                     asp:Button ID="btnSubmit" runat="server" CssClass="iButton" Text="Submit"
                          OnClick="btnSubmit_Click" />
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
    <script type="text/javascript" language="javascript">
        var prm = Sys.WebForms.PageRequestManager.getInstance();
        prm.add_pageLoaded(UpdateLabelHandler);

        function UpdateLabelHandler(sender, args) {
            var ControldataItems = args.get_dataItems();
            if ($get("<%=lblError2.ClientID %>") !== null)
                $get("<%=lblError2.ClientID %>").innerHTML = ControldataItems["<%=lblError2.ClientID %>"];
        }



Но когда срабатывает UpdateLabelHandler(), на if срабатывает условие,что объект lblError2 == null

В чем ошибка?
...
Рейтинг: 0 / 0
05.05.2012, 09:11
    #37783146
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновить label находящийся за пределами updatepanel
в том что лейбл вне панели
помести его в отдельную панель - самое простое
...
Рейтинг: 0 / 0
05.05.2012, 09:48
    #37783188
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновить label находящийся за пределами updatepanel
SanSYS, зацените ScriptManager.RegisterDataItem Method . Там в примере целых два лейбла вне панели :)
...
Рейтинг: 0 / 0
05.05.2012, 12:48
    #37783482
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновить label находящийся за пределами updatepanel
skyANASanSYS, зацените ScriptManager.RegisterDataItem Method . Там в примере целых два лейбла вне панели :)
Да все ок, но автор же не пользуется этой статьей :)

там все просто написано:
Sends custom data to a control during partial-page rendering, and indicates whether the data is in JavaScript Object Notation (JSON) format.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
        Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(PageLoadingHandler);
        function PageLoadingHandler(sender, args) {
            var dataItems = args.get_dataItems();
            if ($get('Label1') !== null)
                $get('Label1').innerHTML = dataItems['Label1'];
            if ($get('Label2') !== null)
                $get('Label2').innerHTML = dataItems['Label2'];
        }



А вообще - полезная весчь, хотя небольшой изврат
...
Рейтинг: 0 / 0
05.05.2012, 12:55
    #37783497
Deza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновить label находящийся за пределами updatepanel
как вариант поместит метку в updpanel и обновлять :)
...
Рейтинг: 0 / 0
05.05.2012, 20:35
    #37784208
Lasa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновить label находящийся за пределами updatepanel
skyANA , SanSYS,
skyANAзацените ScriptManager.RegisterDataItem Method. Там в примере целых два лейбла вне панели :)
Я ведь так и делалаю, как в этой статье написано, только у меня когда срабатывает javascript , lable не находится.

А с панелью я попробую, в понедельник
...
Рейтинг: 0 / 0
05.05.2012, 23:13
    #37784315
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновить label находящийся за пределами updatepanel
LasaskyANA , SanSYS,
skyANAзацените ScriptManager.RegisterDataItem Method. Там в примере целых два лейбла вне панели :)
Я ведь так и делалаю, как в этой статье написано, только у меня когда срабатывает javascript , lable не находится.

А с панелью я попробую, в понедельник

Пробуй так:
Код: javascript
1.
$get('<%= Label1.ClientID %>')
...
Рейтинг: 0 / 0
07.05.2012, 21:08
    #37785542
Lasa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновить label находящийся за пределами updatepanel
Поместила рисунок с lable в отдельную Updatepanel, все работает.
А с RegisterDataItem так и не смогла сделать. Когда этот метод вызывается, как в примере, в Page_load, то работает, но мне надо вызывать его в catch() блоках с разными ошибками. Будет время, буду разбираться.
Всем спасибо за помощь.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / обновить label находящийся за пределами updatepanel / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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