ASP.NET Data Binding Първа задача


2
Здравейте колеги!
Как сте направили след като изберете производителя да се сменя модела на колата? Аз мислех да байдна всички модели и след това да проверявам кой производител сме избрали, но по този начин не се променят моделите?

в Software Engineering Basics (2012) от Kostadin Dimitrov (0 точки)


Отговори



3
Здрасти,
аз съм направил клас Producer, като всеки Producer има List от модели. При избиране на производителя ( OnSelectedIndexChanged event + AutoPostBack="true"), правя следното:
string currentBrand = this.Producers.SelectedValue;
След това намирам съответния производител в колекцията с производителите и закачам моделите му за втория DropDownList:
Models.DataSource = brand.Models; Models.DataBind();
Поздрави!

от d.madjarov (6820 точки)


1
Здравей, ами аз съм го направил когато се смени избраното от полето производители, в зависимост от избрания производител, тогава към листа с моделите да се байдне неговите модели. това става при всяка сменя от листа на производителя, се прави нов байнд в зависимост от неговите модели и се наливат във втория списък. За тази цел dropdownlist-a с производителите трябва да има autopostback="true" и да се хване евента за смяна на избран item от този лист и тогава да се прави bind-ването с втория dropdownlist с моделите.
Поздрави

от Untchble (1306 точки)


0
Здравей Коста,
Аз имам същия въпрос, относно тази задача а освен това незнам как да направя така че в dropDownList-a да ми излизат имената на производителите, на мен ми излиза само името на класа.



1
Относно вотиря проблем,че излиза името на самия клас, може би проблемът е че DataTextField на контролата asp:DropDownList трябва да съдържа името на свойството от обекта към който е закачено, ако е празно се закача към целия обект и мисля,че затова не ти показва имената на самите производители, а името на самия клас, трябва да съдържа Name ако това е свойството за името му.
Поздрави

от Untchble (1306 точки)


0

Благодаря ви. След като сложих "AutoPostBack="true"" всичко тръгна.


от Kostadin Dimitrov (0 точки)