Операции.watch каким-то образом предотвращают это?
blockquote>ДА. После просмотра ключа, если ключ был изменен до завершения транзакции,
EXEC
не будет выполнен. Таким образом, еслиEXEC
успешно, значение гарантированно не изменится другими.почему для (;;)? Всегда есть одна итерация.
blockquote>В вашем случае кажется, что бесконечный цикл избыточен.
Однако, если вы хотите реализовать операцию проверки и установки для изменения значения со старым значением, необходим бесконечный цикл. Посмотрите этот пример из redis doc :
WATCH mykey val = GET mykey val = val + 1 MULTI SET mykey $val EXEC
Поскольку
EXEC
может завершиться неудачей, вам нужно повторить весь процесс в цикле, пока он не завершится успешно.
Можно также сделать это декларативно:
<asp:DropDownList runat="server" ID="yourDDL">
<asp:ListItem Text="Add something" Value="theValue" />
</asp:DropDownList>
Вы можете также данные связывать их:
yourDDL.DataSource = YourIEnumberableObject;
yourDDL.DataBind();
Править: Как упомянуто в комментариях, можно также добавить объекты программно:
yourDDL.Items.Add(YourSelectListItem);
с помощью примера Gortok можно связать с данными список к dropdownlist также
List<Employee> ListOfEmployees = New List<Employees>();
DropDownList DropDownList1 = new DropDownList();
DropDownList1.DataSource = ListOfEmployees ;
DropDownList1.DataTextField = "TextFieldToBeDisplayed";
DropDownList1.DataValueField = "ValueFieldForLookup";
DropDownList1.DataBind();
ошеломите... довольно быстрый к точке там...
DropDownLists имеют набор объектов, Вы называете Добавить метод того набора.
DropDownList1. Объекты. Добавьте ("что Вы добавляете");
Если у Вас есть набор объектов сотрудника, Вы могли бы добавить их как так:
List<Employee> ListOfEmployees = New List<Employees>();
DropDownList DropDownList1 = new DropDownList();
foreach (Employee employee in ListOfEmployees) {
DropDownList1.Items.Add(employee.Name);
}