[Домашно Binding] Защо DataSource or DataSourceID cannot be defined when it uses model binding?


0

Здравейте, имам проблем по втора задача от домашното за data source controls. Опитвам се да добавя edit, insert, update, delete на listview, в което се визуализират градовете, обаче не се получава. Гледам как Евлоги го е направил на подготовката за изпит при добавяне на категории, и общо взето кодът ми е същия.

Проблемът е, че в момента, в който добавя на listview-то който и да е атрибут измежду SelectMethod, UpdateMethod, InsertMethod, DeleteMethod, всичко се чупи и дори началната страница не ми се отваря. Ако махна тези методи, всичко работи, например темплейта за едитване работи адекватно, но при натискане на save естествено гърми, защото няма update method, а в същото време не ми дава да добавя такъв?!  В интернет намерих една единствена статия с такъв exception, която не свърши работа. Някой може ли да погледне защо така се получава?

Ето >кода<.

Exception-ът е "DataSource or DataSourceID cannot be defined on 'TownsListView' when it uses model binding."

Използвам code first, поради което контролите са ми от ef-namespace (ето какво сме писали в другата тема клик).

 




Отговори



0
Пробвай просто да махнеш DataSourceID="TownsDataSource" от TownsListView :) При мен поне проработи така. И е добре да слагаш някой архив на решението, че да може да се тества по-лесно :) На мен ми се наложи да ти дръпна цялото репо :D Като махна този ред и махна коментарите от Update метода без проблем си Update Towns. Delete гърми, защото няма нищо написано. Дано съм разбрал проблема :) Успех!

от penjurov (1466 точки)


0
Да супер, така работи, обаче се чупи друго. Трябва градовете да зависят от селектираната държава в предишната контрола, т.е. в code behind, в метода TownsListView_GetData трябва да напиша нещо от типа на { var selectedCountryId = this.CountriesGridView.SelectedValue; return this.db.Towns.where(t => t.Id == (int) selectedCountryId); } Тук selectedCountryId идва от контролата за държавите, обаче тя е null. Пробвах с "ако е null, вземи всички градове, ако не е null, селектирай както по–горе", обаче пак не става, защото в този метод на postback не се влиза повече. В задънена улица съм просто... :(

от varbanoff (2325 точки)


0
А пробва ли да го правиш при държавите в OnIndexChanged или Changing как беше точно не помня? Така като се смени държавата ще се зареждат градовете към нея.

от penjurov (1466 точки)