نمایش نتایج 1 تا 6 از 6

نام تاپیک: چرا توی updatepanel; دومین دراپ داون لیست پست بک نمی شه؟

  1. #1
    کاربر دائمی آواتار bahar_engineer
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    657

    چرا توی updatepanel; دومین دراپ داون لیست پست بک نمی شه؟

    سلام

    یه update panel دارم که توش 2 تا dropdownlist هست که باید هر دو auto post back بشن

    اما دومی کار نمی کنه ... خیلی جاها این مشکل رو داشتم

    راه حلش چیه؟

  2. #2

    نقل قول: چرا توی updatepanel; دومین دراپ داون لیست پست بک نمی شه؟

    نقل قول نوشته شده توسط bahar_engineer مشاهده تاپیک
    سلام یه update panel دارم که توش 2 تا dropdownlist هست که باید هر دو auto post back بشن اما دومی کار نمی کنه ... خیلی جاها این مشکل رو داشتم راه حلش چیه؟
    سلام.
    نباید مشکلی وجود داشته باشه. لطفا یک کد ساده که بشه توش مشکل رو Reproduce کرد، قرار بدید تا ببینم ایراد کار کجاست.

    پاورقی: این کد رو نگاه کنید. بدرستی کار میکنه:

            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
    <asp:DropDownList ID="ddl1" runat="server" AutoPostBack="true">
    <asp:ListItem>Item 1</asp:ListItem>
    <asp:ListItem>Item 2 </asp:ListItem>
    </asp:DropDownList>
    <asp:DropDownList ID="ddl2" runat="server" AutoPostBack="true">
    <asp:ListItem>Item 3</asp:ListItem>
    <asp:ListItem>Item 4 </asp:ListItem>
    </asp:DropDownList>
    </ContentTemplate>
    </asp:UpdatePanel>

  3. #3
    کاربر دائمی آواتار bahar_engineer
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    657

    نقل قول: چرا توی updatepanel; دومین دراپ داون لیست پست بک نمی شه؟

    نقل قول نوشته شده توسط mehdi.mousavi مشاهده تاپیک
    سلام.
    نباید مشکلی وجود داشته باشه. لطفا یک کد ساده که بشه توش مشکل رو Reproduce کرد، قرار بدید تا ببینم ایراد کار کجاست.

    پاورقی: این کد رو نگاه کنید. بدرستی کار میکنه:

            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
    <asp:DropDownList ID="ddl1" runat="server" AutoPostBack="true">
    <asp:ListItem>Item 1</asp:ListItem>
    <asp:ListItem>Item 2 </asp:ListItem>
    </asp:DropDownList>
    <asp:DropDownList ID="ddl2" runat="server" AutoPostBack="true">
    <asp:ListItem>Item 3</asp:ListItem>
    <asp:ListItem>Item 4 </asp:ListItem>
    </asp:DropDownList>
    </ContentTemplate>
    </asp:UpdatePanel>
    من می خوام هر دراپ پست بک که می شه مقدارش بره توی یه تکست باکس

    فکر می کنم مشکل از اینجا باشه که دراپ 1 وابسته به دراپ 2 هست و با تغییر دراپ 2 تغییر می کنه. مثلا اگه دراپ 2 یکی از آیتم های بانک رو می گیره که کدش 7 هست ... دراپ 1 هم پست بک می شه و یه خصوصیت دیگه از رکورد شماره 7 رو می گیره ... اما با اینکه پست بک می شه و خودش تغییر می کنه تکست باکس رو تغییر نمی ده!

    توی ضمیمه یه نمونه ساده گذاشتم .. ببینید متوجه می شید
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله bahar_engineer : چهارشنبه 30 دی 1388 در 09:01 صبح

  4. #4

    نقل قول: چرا توی updatepanel; دومین دراپ داون لیست پست بک نمی شه؟

    نقل قول نوشته شده توسط bahar_engineer مشاهده تاپیک
    یه قهرمان پیدا نمی شه بفهمه این مشکلش چیه؟!!!
    سلام.
    کدی که فرستاده اید مشکل خاصی نداره. DropDownList2 کامل داره پر میشه، اما چون هنوز هیچ آیتمی توش Select نشده، طبیعی هستش که DropDownList1 خالی باشه. وقتی آیتمی از DropDownList2 انتخاب میکنم، آیتم متناظر با اون توی DropDownlist1 بدرستی ظاهر میشه. اما چون فقط یک آیتم توی DropDownList1 وجود داره، طبیعی هستش که دیگه نتونم آیتم جدیدی رو انتخاب کنم که بخواد PostBack اتفاق بیفته...

    • اول از همه شما کدتون رو مرتب بنویسید. اینطور آوردن دستورات SQL توی HTML کار صحیحی نیستش.
    • دوم اینکه توی فایلهای ASPX یا بقیه فایلهایی که توی Visual Studio باز میکنید، اگر یه دفعه کلید CTRL+K+D رو فشار بدید، Source اتون Reformat میشه و همه نوشته هاتون از نظر indenting مرتب میشن. سعی کنید اینکارو مدام انجام بدید!
    • سوم، جای اینکه OnTextChanged رو برای DropDownList بگیرید، بهتره از OnSelectedIndexChanged استفاده کنید.

    در کل، ایرادی که شما به اون اشاره کردید رو من ندیدم. شاید sample ای گذاشته اید با چیزی که دنبالش بودید فرق داره. در هر حال، به نظر من این کد مشکلی که شما عنوان کردید رو نداره.

    موفق باشید.

  5. #5
    کاربر دائمی آواتار bahar_engineer
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    657

    نقل قول: چرا توی updatepanel; دومین دراپ داون لیست پست بک نمی شه؟

    نقل قول نوشته شده توسط mehdi.mousavi مشاهده تاپیک
    سلام.
    کدی که فرستاده اید مشکل خاصی نداره. DropDownList2 کامل داره پر میشه، اما چون هنوز هیچ آیتمی توش Select نشده، طبیعی هستش که DropDownList1 خالی باشه. وقتی آیتمی از DropDownList2 انتخاب میکنم، آیتم متناظر با اون توی DropDownlist1 بدرستی ظاهر میشه. اما چون فقط یک آیتم توی DropDownList1 وجود داره، طبیعی هستش که دیگه نتونم آیتم جدیدی رو انتخاب کنم که بخواد PostBack اتفاق بیفته...

    • اول از همه شما کدتون رو مرتب بنویسید. اینطور آوردن دستورات SQL توی HTML کار صحیحی نیستش.
    • دوم اینکه توی فایلهای ASPX یا بقیه فایلهایی که توی Visual Studio باز میکنید، اگر یه دفعه کلید CTRL+K+D رو فشار بدید، Source اتون Reformat میشه و همه نوشته هاتون از نظر indenting مرتب میشن. سعی کنید اینکارو مدام انجام بدید!
    • سوم، جای اینکه OnTextChanged رو برای DropDownList بگیرید، بهتره از OnSelectedIndexChanged استفاده کنید.

    در کل، ایرادی که شما به اون اشاره کردید رو من ندیدم. شاید sample ای گذاشته اید با چیزی که دنبالش بودید فرق داره. در هر حال، به نظر من این کد مشکلی که شما عنوان کردید رو نداره.

    موفق باشید.
    شما درست می فرمایید اما من در واقع می خوام هر متنی که توی dropdown ها اومد توی تکست باکس متقابلا کپی بشه... لازم و ضروریه چون این تکست باکس ها توی سایت اصلی لینک اون مطلب رو نشون می دن .
    برای این کار باید چه اقدامی بکنم؟ با selected index change هم نمی شه
    در ضمن این یه وب سایت تست بود که خیلی عجله ای گذاشتم.. برای همین بهم ریخته است

  6. #6

    نقل قول: چرا توی updatepanel; دومین دراپ داون لیست پست بک نمی شه؟

    نقل قول نوشته شده توسط bahar_engineer مشاهده تاپیک
    شما درست می فرمایید اما من در واقع می خوام هر متنی که توی dropdown ها اومد توی تکست باکس متقابلا کپی بشه... لازم و ضروریه چون این تکست باکس ها توی سایت اصلی لینک اون مطلب رو نشون می دن . برای این کار باید چه اقدامی بکنم؟ با selected index change هم نمی شه در ضمن این یه وب سایت تست بود که خیلی عجله ای گذاشتم.. برای همین بهم ریخته است
    بسیار خوب. برای حل این مشکل میتونید به این روش اقدام کنید:

            protected void DropDownList1_DataBound(object sender, EventArgs e)
    {
    TextBox1.Text = DropDownList1.Text;
    }


    و تو فایل ASPX هم:


    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="AccessDataSource2"
    DataTextField="comment" DataValueField="code" OnTextChanged="DropDownList1_TextChanged"
    Width="173px" OnDataBound="DropDownList1_DataBound">


    اینطوری هر وقت DropDownList1 بایند بشه، مقدار انتخاب شده در اون بطور خودکار در TextBox1 قرار میگیره.

    موفق باشید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •