Trigger در UpdatePanel برای لود Grid

mina_1367

عضو جدید
دوستااااااااان سلام
:)

دوستان من توی صفحم دو تا آپدیت پنل دارم . که توی یکیش یه گریدویو دارم که می خوام آپدیت و لود بشه با چینج شدن یه دراپ دون لیست که توی اون یکی آپدیت پنل هست .

براش trigger نوشتم ولی رویداد SelectedIndexChange رو قبول نمی کنه .

توی event مربوط به trigger چی باید بنویسم که گرید آپدیت پنل 2 رو با تغییر کردن دراپ دون لیست آپدیت پنل 1 لود کنه .

سپاس فراوان .
 

A.S.Roma

عضو جدید
کاربر ممتاز
یه نمونه ساده نوشتم :
کد:
[LEFT]<body>
    <form id="form1" runat="server">
    <div>
    <asp:ScriptManager ID="Scriptmanager1" runat="server"></asp:ScriptManager>



    <asp:UpdatePanel ID="updatePanel1" runat="server" UpdateMode="Always">
            <ContentTemplate>
                <asp:ListBox ID="lst" runat="server">
    <asp:ListItem Text="a"></asp:ListItem>
    <asp:ListItem Text="b"></asp:ListItem>
    <asp:ListItem Text="c"></asp:ListItem>
    <asp:ListItem Text="d"></asp:ListItem>
    <asp:ListItem Text="e"></asp:ListItem>
</asp:ListBox>
<asp:Button ID="Button1" runat="server" Text="ss" OnClick="click" />
            </ContentTemplate>

        </asp:UpdatePanel>
    </div>
    <div>        
        
        <asp:UpdatePanel ID="updatePanel" runat="server" UpdateMode="Always">
            <ContentTemplate>
                <asp:Label ID="lblTest" runat="server"></asp:Label>
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Button1" EventName="click"/>                
            </Triggers>
        </asp:UpdatePanel>
    </div>
    </form>
</body>
[/LEFT]
و CodeBehinde:
کد:
protected void Page_Load(object sender, EventArgs e)
        {
            
        }

        protected void click(object sender, EventArgs e)
        {
            if (lst.SelectedIndex >= 0)
            {
                lblTest.Text = lst.SelectedItem.Text;
            }
        }
اگر منظورتون چنین کاریه خودتون با خواسته ی خودتون تعمیمش بدید.
مشکلی بود مطرح کنید.
 

mina_1367

عضو جدید
یه نمونه ساده نوشتم :
کد:
[LEFT]<body>
    <form id="form1" runat="server">
    <div>
    <asp:ScriptManager ID="Scriptmanager1" runat="server"></asp:ScriptManager>



    <asp:UpdatePanel ID="updatePanel1" runat="server" UpdateMode="Always">
            <ContentTemplate>
                <asp:ListBox ID="lst" runat="server">
    <asp:ListItem Text="a"></asp:ListItem>
    <asp:ListItem Text="b"></asp:ListItem>
    <asp:ListItem Text="c"></asp:ListItem>
    <asp:ListItem Text="d"></asp:ListItem>
    <asp:ListItem Text="e"></asp:ListItem>
</asp:ListBox>
<asp:Button ID="Button1" runat="server" Text="ss" OnClick="click" />
            </ContentTemplate>

        </asp:UpdatePanel>
    </div>
    <div>        
        
        <asp:UpdatePanel ID="updatePanel" runat="server" UpdateMode="Always">
            <ContentTemplate>
                <asp:Label ID="lblTest" runat="server"></asp:Label>
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Button1" EventName="click"/>                
            </Triggers>
        </asp:UpdatePanel>
    </div>
    </form>
</body>
[/LEFT]
و CodeBehinde:
کد:
protected void Page_Load(object sender, EventArgs e)
        {
            
        }

        protected void click(object sender, EventArgs e)
        {
            if (lst.SelectedIndex >= 0)
            {
                lblTest.Text = lst.SelectedItem.Text;
            }
        }
اگر منظورتون چنین کاریه خودتون با خواسته ی خودتون تعمیمش بدید.
مشکلی بود مطرح کنید.

مرسی . اینارو می دونم ولی همون تعمیم دادنش به چیزی که می خوام سخته :دی
من می خوام توی کدنویسی چنین برنامه ای داشته باشم :

کد:
protected void DropDownList3_SelectedIndexChanged1(object sender, EventArgs e)
    {
        int i, row_selected = 0;
        TextBox txt = new TextBox();
        Label lblid = new Label();
        Label lbdemp = new Label();
        Label lblempless1 = new Label();
        Label lblgroupid1 = new Label();

        //ایجاد شی برای اتصال به بانک اطلاعاتی
        SqlConnection connect = new SqlConnection(c_s);
        connect.ConnectionString = c_s;
        //---
        connect.Open();
.
.
.
.
}

دو تا آپدیت پنل جدا دارم ، فکر کنم قضیه از اینجا آب می خوره . هر کدوم هم باعث رفرش شدن محدوده خودشون میشن خب :)

این تصویر دیزاینمه یه نگاه بندازید

http://www.www.www.iran-eng.ir/attachment.php?attachmentid=24051&stc=1&d=1283852905

الان من به اجبار برنامه رو توی دکمه "نمایش دانش آموزان " نوشتم که با تغییر درس اون دکمه هم باید کلیک بشه تا لیست دانش آموزان توی گریدی که پایینش هست نشون داده بشه ولی می خوام همین که دراپ تغییر کرد ( اسم درس عوض شد) گرید خودش آپ بشه .
 

پیوست ها

  • page.JPG
    page.JPG
    37.5 کیلوبایت · بازدیدها: 0

A.S.Roma

عضو جدید
کاربر ممتاز
تعمیمش سخت نیستا :
کد:
<body>
    <form id="form1" runat="server">
    <div>
    <asp:ScriptManager ID="Scriptmanager1" runat="server"></asp:ScriptManager>



    <asp:UpdatePanel ID="updatePanel1" runat="server" UpdateMode="Always">
            <ContentTemplate>
                <asp:ListBox ID="lst" runat="server" AutoPostBack="true" OnSelectedIndexChanged="event1">
    <asp:ListItem Text="a"></asp:ListItem>
    <asp:ListItem Text="b"></asp:ListItem>
    <asp:ListItem Text="c"></asp:ListItem>
    <asp:ListItem Text="d"></asp:ListItem>
    <asp:ListItem Text="e"></asp:ListItem>
</asp:ListBox>

            </ContentTemplate>

        </asp:UpdatePanel>
    </div>
    <div>        
        
        <asp:UpdatePanel ID="updatePanel" runat="server" UpdateMode="Always">
            <ContentTemplate>
                <asp:Label ID="lblTest" runat="server"></asp:Label>
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="lst" EventName="SelectedIndexChanged"/>                
            </Triggers>
        </asp:UpdatePanel>
    </div>
    </form>
</body>

        protected void event1(object sender, EventArgs e)
        {
            if (lst.SelectedIndex >= 0)
            {
                lblTest.Text = lst.SelectedItem.Text;
            }
        }
 

mina_1367

عضو جدید
تعمیمش سخت نیستا :
کد:
<body>
    <form id="form1" runat="server">
    <div>
    <asp:ScriptManager ID="Scriptmanager1" runat="server"></asp:ScriptManager>



    <asp:UpdatePanel ID="updatePanel1" runat="server" UpdateMode="Always">
            <ContentTemplate>
                <asp:ListBox ID="lst" runat="server" AutoPostBack="true" OnSelectedIndexChanged="event1">
    <asp:ListItem Text="a"></asp:ListItem>
    <asp:ListItem Text="b"></asp:ListItem>
    <asp:ListItem Text="c"></asp:ListItem>
    <asp:ListItem Text="d"></asp:ListItem>
    <asp:ListItem Text="e"></asp:ListItem>
</asp:ListBox>

            </ContentTemplate>

        </asp:UpdatePanel>
    </div>
    <div>        
        
        <asp:UpdatePanel ID="updatePanel" runat="server" UpdateMode="Always">
            <ContentTemplate>
                <asp:Label ID="lblTest" runat="server"></asp:Label>
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="lst" EventName="SelectedIndexChanged"/>                
            </Triggers>
        </asp:UpdatePanel>
    </div>
    </form>
</body>

        protected void event1(object sender, EventArgs e)
        {
            if (lst.SelectedIndex >= 0)
            {
                lblTest.Text = lst.SelectedItem.Text;
            }
        }

مرسی دوست عزیز
ولی من توی پست اول که گفتم خطا میگیره
selectedIndexedChanged
رو قبول نمی کنه
 
Similar threads
Thread starter عنوان تالار پاسخ ها تاریخ
N مشکل در لود تصویر روی سرور ASP.NET 1

Similar threads

بالا