Обеспечение абсолютно неограниченной длины пароля имеет один главный недостаток при принятии пароля из недоверяемых источников.
отправитель мог попытаться дать Вам такой длинный пароль, что это приводит к отказу в обслуживании для других людей. Например, если пароль составляет 1 ГБ данных, и Вы проводите все свое время, принимают его, пока у Вас не заканчивается память. Теперь предположите, что этот человек отправляет Вам этот пароль так же много раз, как Вы готовы принять. Если Вы не осторожны относительно других параметров, включенных, это могло бы привести к DoS-атаке.
Установка верхней границы к чему-то как 256 символов кажется чрезмерно щедрой по сегодняшним стандартам.
Привет, когда привязка данных (к чему-либо) вам нужно установить DataTextField и DataValueField вашего DropDownList. В вашем случае вам следует использовать следующий код
List<ListItem> users = new List<ListItem>();
foreach (SubscriptionUser su in subscriptionDetails.UserList)
{
users.Add(new ListItem(su.FirstName + " " + su.LastName, su.EmailAddress));
}
ddlPrimaryContact.DataTextField = "Text";
ddlPrimaryContact.DataValueField = "Value";
ddlPrimaryContact.DataSource = users;
ddlPrimaryContact.DataBind();
Вы должны связать свой раскрывающийся список как:
ddlPrimaryContact.DataSource = users;
ddlPrimaryContact.DataTextField = "Value";
ddlPrimaryContact.DataValueField = "Text";
ddlPrimaryContact.DataBind();
Если вы спросите, почему, насколько мне известно, элементы управления привязкой данных принимают тексты и значения (если они не предоставляются, как указано выше), вызывая ToString для каждого элемента в коллекции источника данных. Таким образом, каждый ListItem в вашей коллекции возвращает свойство Text методом ToString.
Или, альтернативно, вы можете привязать его таким образом. (Предполагая, что вы можете добавить свойство readOnly в SubscriptionUser под названием FullName (которое возвращает su.FirstName + "" + su.LastName)
ddlPrimaryContact.DataSource = subscriptionDetails.UserList;
ddlPrimaryContact.DataBind();
, тогда на странице ASPX введите:
<asp:DropDownList id="ddlPrimaryContact" runat="server" DataTextField="FullName" DataValueField="EmailAddress" />
вы также можете напрямую добавить элемент списка в раскрывающийся список ..
List<ListItem> users = new List<ListItem>();
for (int count = 0; count < 10; count++)
{
ListItem li = new ListItem("List " + count.ToString(), count.ToString());
ddl.Items.Add(li);
}