Модераторы: gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как сделать перерисовку DIV? 
:(
    Опции темы
lankin
Дата 15.9.2008, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



Суть вопроса в следующем: допустим есть 10 кнопок и по каждой открывается новая страница и там отображается какая-то информация.
Как мне сделать так, чтобы по нажатию кнопок элемент <div> перерисовывался на исходной странице, отображая нужную информацию?
PM MAIL   Вверх
Hades
Дата 15.9.2008, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 8.8.2008

Репутация: 1
Всего: 37



что-то типа такого
Код

<asp:Panel ID="Panel1" runat="server" Height="50px" Width="125px">
    <asp:Literal ID="Literal1" runat="server">Hello</asp:Literal>
</asp:Panel>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

Код

protected void Button1_Click(object sender, EventArgs e)
{
    Literal1.Text += " World";
}

PM MAIL   Вверх
lankin
Дата 15.9.2008, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



попробую. Я думал через JavaScript это делается.
PM MAIL   Вверх
Hades
Дата 15.9.2008, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 8.8.2008

Репутация: 1
Всего: 37



lankin, можно и через JavaScript,
раздел про ASP.NET, в теме и сообщении о использовании JavaScript нет ни слова.
PM MAIL   Вверх
lankin
Дата 15.9.2008, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



О, мое упущение, в следующий раз буду корректнее.
Тогда как это можно реализовать через JavaScript?
PM MAIL   Вверх
Hades
Дата 15.9.2008, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 8.8.2008

Репутация: 1
Всего: 37



1-й вариант
Код

<div id="rfg"></div>
<input type="button" value="click" onclick="ff();" />

<script>
function ff() {
    var div = document.getElementById("rfg");    
    div.innerHTML = '<input type="button" value="Hello" />';
}
</script>

но многие говорят что использование innerHTML плохой тон

2-й вариант
Код

<div id="rfg"></div>
<input type="button" value="click" onclick="ff();" />

<script>
function ff() {
     var elem = document.createElement("input");
    elem.setAttribute("type", "button");
    elem.setAttribute("value", "Hello");
    var div = document.getElementById("rfg");    
    div.appendChild(elem);
}
</script>


3-й вариант
передать все возможные варианты дивов, но сделать их невидимыми,
а при клике на кнопку сделать видимым нужный див
Код

<div id="div1" style="display: none;">Hello</div>
<div id="div2" style="display: none;">World</div>
<br />
<input type="button" value="click_1" onclick="ff('div1');" />
<input type="button" value="click_2" onclick="ff('div2');" />

<script>
var visibleDivID = "div1";

function ff(elem) {
    document.getElementById(visibleDivID).style.display = "none";

    var div = document.getElementById(elem);
    div.style.display = "block";
    visibleDivID = elem;
}
</script>


Это сообщение отредактировал(а) Hades - 15.9.2008, 23:04
PM MAIL   Вверх
lankin
Дата 15.9.2008, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



Отлично. Спасибо огромное!
PM MAIL   Вверх
lankin
Дата 16.9.2008, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



Hades, попробовал второй вариант, все получается, но только div не перерисовывается, а просто постоянно добавляет новое. Как его сначала очистить?
PM MAIL   Вверх
Mymik
Дата 16.9.2008, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Код

function clearContainer(node) {
    if (node&&node.hasChildNodes&&node.removeChild) {
        while (node.hasChildNodes()){
            node.removeChild(node.firstChild);
        }
    }
} 

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

Добавлено через 1 минуту и 56 секунд
А вообще тебе лучше начать смотреть в сторону asp.net ajax... потому что выгружать на клиент сразу 10 страниц(табов) это не есть хороший тон. А когда у тебя еще появится логические ограничители (отображать один он в том случаи если в предыдущем выбран checkbox а в следующем не выбран) то выгрузка всех данных на страницу будет нарушением безопастности. 


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Kosten
Дата 17.9.2008, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 30.6.2003
Где: Cанкт-Петербург

Репутация: нет
Всего: нет



если надо серверную логику использовать, то стоит посмотреть в сторону AJAX
PM MAIL WWW ICQ   Вверх
lankin
Дата 17.9.2008, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



Вот с AJAX я совсем не дружу. Прочитал здесь статьи по нему, кстати довольно доходчиво написанные. Но может кто книгу посоветует?
PM MAIL   Вверх
Idsa
Дата 17.9.2008, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Цитата(lankin @  17.9.2008,  14:12 Найти цитируемый пост)
Но может кто книгу посоветует? 

У Эспозито есть хорошая книга на этот счет... но она писалась до релиза MS Ajax, поэтому устарела (хотя полезной информации там очень много). Нужно брать книги про MS Ajax, который шел с ASP.NET 3.5. Из переведенных на память приходит только эта книга. Но в руках ее не держал, поэтому сказать, насколько она хорошая, не могу (а в Pro серии издательства Apress ужасных книг предостаточно).


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
lankin
Дата 17.9.2008, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



Все равно большое спасибо. Буду искать книгу.
PM MAIL   Вверх
Kosten
Дата 19.9.2008, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 30.6.2003
Где: Cанкт-Петербург

Репутация: нет
Всего: нет



lankin, посмотри статьи на аспнетмании, там есть где все с самых азов разобрано с примерами. Сам с них начинал.
PM MAIL WWW ICQ   Вверх
lankin
Дата 19.9.2008, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



Обязательно посмотрю.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0593 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.