Bind Dropdown с жестко закодированными значениями - PullRequest
0 голосов
/ 07 февраля 2012

У меня есть выпадающий список с жестко закодированными значениями:

<asp:DropDownList ID="BulletinTypeDropDown" runat="server">
    <asp:ListItem Selected="True" Text="--Select--" Value="--Select--"></asp:ListItem>
    <asp:ListItem Text="News" Value="News"></asp:ListItem>
    <asp:ListItem Text="report" Value="report"></asp:ListItem>
    <asp:ListItem Text="System" Value="System"></asp:ListItem>
    <asp:ListItem Text="Reminder" Value="Reminder"></asp:ListItem>
</asp:DropDownList>

Я хочу использовать это для вставки и редактирования значений из БД. Например, при добавлении записи пользователь выбирает «отчет» и «отчет» вставляется в базу данных. Затем, если пользователь переходит на редактирование страницы, поскольку значение в БД равно «отчет», то в раскрывающемся списке должно быть указано «отчет». Но я могу успешно сохранить значение в БД, но не могу получить выбранную страницу во время редактирования. Я использую работу с фреймами Entity, поэтому я устал от многих способов, но не смог получить значение на странице редактирования. Вот способ, которым я пытался.

DropDown.SelectedValue = bulList.intype.ToString(); // intype - это значение, которое я получаю из БД, и оно возвращает точное значение, но передает нулевое значение в DropDown.selectedvalue.

Может кто-нибудь, пожалуйста, помогите мне, как я могу работать, чтобы получить значения в моем раскрывающемся списке.

Спасибо

Ответы [ 4 ]

0 голосов
/ 07 февраля 2012

Вот душа, которая может работать на вас. поэтому создайте свой выпадающий список.

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" 
        onload="DropDownList1_Load" >
    </asp:DropDownList>


protected void DropDownList1_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        List<string> DDLlist = new List<string>();
        DDLlist.Add("Report");
        DDLlist.Add("News");
        DropDownList1.DataSource = DDLlist;
        DropDownList1.SelectedValue = "Report";
        DropDownList1.DataBind();
    }

Вы можете добавить в список DDL список для динамического добавления новых элементов.

0 голосов
/ 07 февраля 2012
BulletinTypeDropDown.SelectedValue = valueFromDb;
0 голосов
/ 07 февраля 2012

Таким образом, выпадающий список остается на значении по умолчанию, если это так, найдите способ привязки в вашем коде, вероятно, при загрузке страницы.
В противном случае, если bulList.intype возвращает значение, я не думаю, что выпадающий список отказывается показывать выбранное значение.Может быть, проверьте возвращаемое значение для пробелов.Попробуйте это:

string s =  = bulList.intype.ToString().Trim();
DropDown.SelectedValue = s;
0 голосов
/ 07 февраля 2012

Вам нужно будет найти текст в выпадающем списке и установить для выбранного свойства значение true Пример:

//pass the string you want to set selected to true --> assuming in your case bulList.intype.ToString()
BulletinTypeDropDown.Items.FindByText(bulList.intype.ToString()).Selected = true;

Вы также можете сделать подобное, используя FindByValue. Больше информации здесь: http://forums.asp.net/t/1004541.aspx/1

...