Как я могу установить ASP.NET DropDownList.SelectedValue, когда он внутри шаблона элемента редактирования FormView? - PullRequest
1 голос
/ 17 ноября 2010

Я пытаюсь установить выбранное значение DropDownList, который находится внутри шаблона редактирования FormView. Всякий раз, когда я получаю к нему доступ, я получаю сообщение об ошибке:

Ссылка на объект не существует

Я пытаюсь установить его следующими способами:

DropDownList ddl = (DropDownList)FormView1.FindControl("ddlFrequency");
ddl.SelectedValue = "blah blah";

А также как:

((DropDownList)FormView1.FindControl("ddlFrequency")).SelectedValue = "blah blah";

Как мне установить этот DropDownList.SelectedValue?

РЕДАКТИРОВАТЬ: Вот весь метод:

  protected void btnEdit_Click(object sender, EventArgs e)
{
    String frequency = ((Label)(FormView1.FindControl("lblFrequency"))).Text;

    FormView1.ChangeMode(FormViewMode.Edit);

    String selectedValue = "0";

    switch (frequency.ToLower())
    {
        case "none": selectedValue = "0"; break;
        case "daily": selectedValue = "1"; break;
        case "weekly": selectedValue = "7"; break;
        case "monthly": selectedValue = "28"; break;
        case "bi-monthly": selectedValue = "56"; break;
        case "quarterly": selectedValue = "84"; break;
        case "semi-annually": selectedValue = "168"; break;
        case "annually": selectedValue = "365"; break;
        default: break;
    }

    DropDownList ddl = (DropDownList)FormView1.FindControl("ddlFrequency");
    ddl.SelectedValue = selectedValue;
}

Ответы [ 2 ]

1 голос
/ 17 ноября 2010
1 голос
/ 17 ноября 2010

Хорошо, шаблон редактирования должен быть видимым, чтобы FindControl работал.Возможно, вам придется использовать событие OnModeChanged, чтобы проверить режим редактирования, а затем найти DropDownList.

...