Будьте осторожны в этом дизайне. Таким образом, создание раскрывающихся списков сетки означает, что для каждого параметра в раскрывающемся списке вы будете повторять для каждой отдельной строки. Это может очень быстро добавить размер страницы, превышающий МБ, если у вас несколько строк или несколько раскрывающихся столбцов, что приведет к снижению производительности.
При этом вы можете сделать это в разметке, используя теги скриптов привязки контекста:
<asp:DropDown id="dropDown1" SelectedValue='<%# Eval("Key") %>' runat="server"/>
Теги привязки контекста также позволяют вызывать публичные / защищенные функции на странице / пользовательском элементе управления как:
<asp:DropDown id="dropDown1" SelectedValue='<%# myFunction((int) Eval("Key")) %>' runat="server"/>
public string myFunction(int key){
return key.ToString();
}
В качестве альтернативы созданию одного и того же повторяющегося HTML для каждой строки, вы можете сделать эти автозаполнения раскрывающихся списков или создать скрытый раскрывающийся список, который отображает HTML только один раз, а затем использует JQuery или JavaScript для заполнения всех ваших раскрывающихся списков сетки на стороне клиента.