powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос по UpdatePanel
4 сообщений из 4, страница 1 из 1
Вопрос по UpdatePanel
    #34149001
twirpx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется приложение использующее ASP.NET AJAX Beta 2.

В нем есть страница такого содержания:

1. Некий список картинок (DataList) + два фильтра к нему (DropDownList-ы).
2. Линки генерируемые с помощью Repeater-a.

1 пункт обернут в update panel с триггерами на SelectedIndexChanged для
дропдаунов в нем находящихся.
Соответственно при выборе в дропдаунах происходит обновление пункта первого.

С этим все ясно, далее:

Линки из 2 пункта должны также вызывать перезагрузку UpdatePanel из п.1.
То есть каждому линку сопоставлен некоторый параметр влияющий на то, какие
именно элементы будут отображены в п.1.
Каким образом можно реализовать данный механизм?
До сих пор не работал с AJAX вплотную поэтому пока идей мало.
В примерах с MS AJAX и ControlsToolkit такого не нашел — в основном все
сделано
на триггерах для контролов статически вставленных в страницу.
Очень хотелось бы пример кода либо ссылку на похожее решение.

Если объяснение сумбурно задавайте вопросы...
Заранее спасибо за помощь.Posted via RSDN NNTP Server 2.0
...
Рейтинг: 0 / 0
Вопрос по UpdatePanel
    #34170363
mogadanez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
T>Если объяснение сумбурно задавайте вопросы...
T>Заранее спасибо за помощь.

насколько я понял нужна такая страничка:

<%@ Page Language="C#" EnableEventValidation="false" AutoEventWireup="true" CodeFile="updatepanel_from_repeater.aspx.cs" Inherits="UpdatePanel_UpdateCustom_updatepanel_from_repeater" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
<script runat="server"> </script>
</head>
<body>
    <form id="form1" runat="server">
     <asp:ScriptManager ID="Scm1" runat="server" EnablePartialRendering="true"></asp:ScriptManager>
    <div>
    <asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional" ChildrenAsTriggers="true" >
        <ContentTemplate>
            <div style="width:150px;height:100px; border: 1px green dotted;">
            <asp:Label runat="server" ID="lblPic"></asp:Label><br/><br/><br/></div>
            <asp:DropDownList runat="server" id="ddlchangePic" OnSelectedIndexChanged="onPicSelect" AutoPostBack="true" >            
            </asp:DropDownList>
        </ContentTemplate>      
        <Triggers>
            <asp:AsyncPostBackTrigger  ControlID="rptCategories" EventName="ItemCommand" />
        </Triggers>
    </asp:UpdatePanel>
    <br/><br/><br/><br/>
    <asp:Repeater runat="server" ID="rptCategories"  OnItemCommand="changeCat" DataSource='<%#new int[]{1,2,3,4,5} %>'>
        <ItemTemplate>
            <asp:LinkButton runat="server" ID="lnkChangeCategory" CommandName="ChangeCategory"  CommandArgument="<%#Container.ItemIndex+1%>" Text='<%#"Category" + (Container.ItemIndex+1) %>'></asp:LinkButton>
        </ItemTemplate>
        <SeparatorTemplate> - </SeparatorTemplate>
    </asp:Repeater>
    </div>
    </form>
</body>
</html>

public partial class UpdatePanel_UpdateCustom_updatepanel_from_repeater : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            {
            BindView( "1" );
            rptCategories.DataBind();
            }
    }

    protected void changeCat(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "ChangeCategory")
            {
            BindView((string)e.CommandArgument);    
            }
    }

    protected void onPicSelect(object sender, EventArgs e)
        {
        lblPic.Text = ddlchangePic.SelectedItem.Text;
        }
    
    protected void BindView( string category )
        {
        ddlchangePic.Items.Clear();
        for ( int i=0; i<10; i++ )
            {
            ddlchangePic.Items.Add( string.Format( "category '{0}'; item '{1}'", category,i ) );
            }
        lblPic.Text = ddlchangePic.SelectedItem.Text;
        }
}


LiveSample сделаю на выходных... << RSDN@Home 1.2.0 alpha rev. 662>>
...
Рейтинг: 0 / 0
Вопрос по UpdatePanel
    #34170418
twirpx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
T>> Если объяснение сумбурно задавайте вопросы...
T>> Заранее спасибо за помощь.

m> насколько я понял нужна такая страничка:
m> ... skipped ...

Спасибо за ответ.
Проблема уже решилась.
Примерно так и сделал дойдя до этого методом проб и ошибок.
Удручает то что в примерах не было похожего случая.Posted via RSDN NNTP Server 2.0
...
Рейтинг: 0 / 0
Вопрос по UpdatePanel
    #34170510
mogadanez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
T>Спасибо за ответ.
T>Проблема уже решилась.
T>Примерно так и сделал дойдя до этого методом проб и ошибок.
T>Удручает то что в примерах не было похожего случая.

ну сорри что поздно, не высыпаюсь катастрофически.
я подобное видел в блоге у никхила было демо как раз с фото-галереей, там плюс еще было несколько уровней — сама картинка, рипетер категорий и репитер thumbnail'ов
качественный примерчик в общем.
сцылка... << RSDN@Home 1.2.0 alpha rev. 662>>
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос по UpdatePanel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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