AMcoder - javascript, python, java, html, php, sql

DropDownList - Ցանկի առաջին կետը պատշաճ կերպով չի տեղադրվում, բայց մնացած բոլորն աշխատում են

Ես ունեմ այս DropDownList-ը.

<asp:DropDownList id="ddlSort" runat="server" EnableViewState="true" OnSelectedIndexChanged="ApplyFilters" AutoPostBack="True">
   <asp:ListItem Value="0">Sort By Relevancy</asp:listitem>
   <asp:ListItem Value="1">Sort By Product Code</asp:listitem>
   <asp:ListItem Value="2">Sort By Product Description</asp:listitem>
   <asp:ListItem Value="3">Sort By Price - Lowest</asp:listitem>
   <asp:ListItem Value="4">Sort By Price - Highest</asp:listitem>
</asp:dropdownlist>

Ես սահմանում եմ այն ​​տարբերակը, որ սկզբում ընտրվի Page_Load-ում if (!Page.IsPostBack)-ում, որը կանխադրված է «0»: Եթե ​​ես ընտրեմ Sort By Product Code (կամ որևէ այլ տարբերակ), առանց խնդրի կկանչի ApplyFilters-ը: Եթե ​​հետո «Drop Down»-ը փոխեմ առաջին տարբերակին, AutoPostBack-ը գործարկվում է, բայց այն չի մտնում ApplyFilters կոդի մեջ:

Եթե ​​ես փոխեմ նշագրումը հետևյալի վրա.

<asp:DropDownList id="ddlSort" runat="server" EnableViewState="true" OnSelectedIndexChanged="ApplyFilters" AutoPostBack="True">
   <asp:ListItem Value="-1">First Option</asp:listitem>
   <asp:ListItem Value="0">Sort By Relevancy</asp:listitem>
   <asp:ListItem Value="1">Sort By Product Code</asp:listitem>
   <asp:ListItem Value="2">Sort By Product Description</asp:listitem>
   <asp:ListItem Value="3">Sort By Price - Lowest</asp:listitem>
   <asp:ListItem Value="4">Sort By Price - Highest</asp:listitem>
</asp:dropdownlist>

այնուհետև ընտրելով Դասավորել ըստ համապատասխանության, ճիշտ կաշխատի ցանկացած այլ տարբերակ ընտրելուց հետո, ԲԱՅՑ ընտրելը Առաջին տարբերակը չի լինի (ինչպես առաջին օրինակում):

Ես օգտագործում եմ ASP.NET 2.0:

  1. Ես ստուգել եմ կառավարման հիերարխիան և դիտման վիճակը միացված է բոլոր հսկիչների համար:
  2. Ես փորձել եմ հստակորեն կարգավորել EnableViewState="true"-ը, առանց որևէ հաջողության:

Արդյո՞ք որևէ մեկը որևէ գաղափար ունի, քանի որ այս մասին իմ տեսած ամբողջ տեղեկատվությունը ցույց է տալիս, որ դիտման վիճակը կեղծ է և թարմացման վահանակում. որոնցից ոչ մեկն իմ դեպքում ճիշտ չէ:

Խմբագրել. Առայժմ որպես առաջին մուտքագրում եմ դրել կեղծ գրառում, բայց դա իդեալական չէ:

15.08.2012

  • ViewStateMode=Միացված է բացվող ցանկում կամ միացնել ViewStateMode-ը web.config-ում 15.08.2012
  • Վախենում եմ, որ ձեր նկարագրած ծածկագիրը լիովին ստանդարտ է: Վրիպազերծե՞լ եք, որպեսզի տեսնեք՝ սխալ բան եք հայտնաբերել: 15.08.2012
  • @MMK - Դուք կարդացե՞լ եք իմ գրառման վերջին 2 կետերը: 15.08.2012
  • @ClaudioRedi - Ես իսկապես վստահ չեմ, թե ինչ կարգաբերել: Էջը հետ է ուղարկում, բայց չի կանչում ApplyFilters: Դա մեջտեղի այն հատվածն է, որը կարծես կոտրված է: 15.08.2012

Պատասխանները:


1

Սա սպասված պահվածքն է։

Ձեր միջոցառումը OnSelectedIndexChanged է, եթե բացեք բացվող ցանկը և ընտրեք արդեն ընտրված տարբերակը, asp.net-ը դա չի հայտնաբերի որպես փոփոխություն:

Միայն այլ արժեք ընտրելու դեպքում OnSelectedIndexChanged-ը կգործարկվի:

Ես առաջարկում եմ ունենալ լռելյայն արժեք, ինչպես ձեր երկրորդ օրինակում, պարզապես ավելի ընթեռնելի.

<asp:DropDownList id="ddlSort" runat="server" EnableViewState="true" OnSelectedIndexChanged="ApplyFilters" AutoPostBack="True">
   <asp:ListItem Value="-1">Select Sort order</asp:listitem>
   <asp:ListItem Value="0">Sort By Relevancy</asp:listitem>
   <asp:ListItem Value="1">Sort By Product Code</asp:listitem>
   <asp:ListItem Value="2">Sort By Product Description</asp:listitem>
   <asp:ListItem Value="3">Sort By Price - Lowest</asp:listitem>
   <asp:ListItem Value="4">Sort By Price - Highest</asp:listitem>
</asp:dropdownlist>

Եթե ​​ունեք կանխադրված տեսակավորման կարգ, կարող եք այն սահմանել էջի բեռնման ժամանակ

if (!Page.IsPostBack)
{
   ddlSort.Text = 0;
}
15.08.2012
  • Կարծում եմ, որ դուք ճիշտ չեք կարդացել իմ գրառումը: Ես ասացի՝ ես այլ բան եմ ընտրում ՀԵՏՈ նորից ընտրում եմ 1 տարբերակը և այն չի կանչում ApplyFilters: Ես չպետք է կեղծ գրառում ունենամ որպես առաջին գրառում՝ սա շտկելու համար: Արժեքն ընտրվում է URL-ի արժեքի հիման վրա, որը պետք է սահմանվի ApplyFilters-ում: 15.08.2012
  • Ուզում ես ասել, որ քո առաջին ընտրության ժամանակ այն կանչում է ApplyFilters, իսկ հետո, երբ ընտրում ես առաջին տարբերակը, չի՞ անում: Դա շատ քիչ հավանական է թվում: 15.08.2012
  • Ես դա եմ ասում։ Եթե ​​ընտրում եք մյուս տարբերակներից որևէ մեկը, այն աշխատում է, ապա այդ մյուս տարբերակը ընտրելուց և առաջինը նորից ընտրելուց հետո այն չի կանչում ApplyFilters-ը (չնայած այն անում է հետադարձ կապ): 15.08.2012
  • Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..