В ASP.NET я могу использовать <% # Bind%> для достижения двустороннего связывания данных, тогда контроль источника данных может завершить функцию обновления для меня.
Однако я думаю, что это простокогда вы просто показываете простой формат, такой как
<%# Bind("InsertDate") %>
Но, если я хочу показать 'N / A', когда InsertDate не существует.тогда как использовать <% # Bind%> для выполнения проверки условия?
Я знаю, что функция Bind поддерживает строку формата, например
<%# Bind("InsertDate", "0:{dd MMM yyyy}") %>
Но она не может изменить формат на основе содержимого InsertDate.
Я даже пытаюсь использовать:
<%# FormatString(Bind("InsertDate").ToString()) %>
Кажется, не работает, что обычно работает для функции Eval.
Другой пример - у меня есть битовый столбец в таблице (например,5) который представлен списком флажков, обернутым элементом управления ListView, например
<asp:checkboxlist>
<asp:ListItem value="1" text="OptionA">
<asp:ListItem value="2" text="OptionB">
<asp:ListItem value="4" text="OptionC">
</asp:checkboxlist>
, тогда как использовать <% # Bind%> для достижения двустороннего связывания для привязки побитового столбца к этому списку флажков?
В настоящее время я делаю следующее:
установка выбранного элемента (значения) флажка в обработчике события ItemDataBound в ListView
с использованием HiddenField ипривязать данные к этому скрытому полю, чтобы добиться двустороннего связывания данных.
В обработчике события ItemUpdating в LivtView я обновляю свойство NewValue ListViewUpdateEventArgs выше требуемого значения.и тогда EntityDataSource может правильно выполнить операцию обновления.
Но я думаю, что этот метод не прост и хорош.
Так есть ли другой лучший способ сделать это