Контроль Ajax для выпадающего списка, чтобы вызвать пользовательские формы ввода? - PullRequest
0 голосов
/ 30 апреля 2011

Я новичок в своем первом тренировочном проекте с использованием asp.net и c #;Мне нужно отобразить форму ввода на моей странице «Добавить продукт», и она должна отправить информацию о пользователе в базу данных, затем нажать кнопку обратной передачи и отобразить данные в формате только для чтения.Я хотел бы использовать ajax для этого, и я думаю, что было бы лучше использовать панель обновления для каждого из продуктов, и при нажатии кнопки я буду использовать оператор переключения регистра для отображения соответствующих форм.Я никогда не использовал switch-case раньше, и мне интересно, какой метод я мог бы использовать для отображения форм.Например,

Switch (DropDownList1.SelectedValue)
     {
         case 0:
         //what method would display the update panel for this product?
         break;
         case 1:
         //etc.
         default:
         error message;
         break;
      }

Ответы [ 2 ]

2 голосов
/ 30 апреля 2011

Одним из решений было бы то, что вы не используете обратную передачу, а затем вызываете веб-метод через javascript, и это отправит ваши данные в базу данных.

Процесс, который я бы использовал:

  1. Поместите тег ввода и кнопку HTML на странице.
  2. Создание веб-метода в новом веб-сервисе.
  3. Создать метод javascript для вызова этого веб-метода. а. используя тег диспетчера сценариев и ссылку на службу в вашем веб-сервисе б. или используя jquery ajax для вызова веб-службы
  4. Измените JavaScript, чтобы сделать форму доступной только для чтения
  5. Привязать кнопку к функции JavaScript по щелчку мыши
0 голосов
/ 04 мая 2011

Вот что я в итоге использовал. Я поместил формы в панели, установил их как невидимые, а затем запустил метод visible = true для выбранных значений из ddl, а затем запустил метод remove.selecteditem для события ddl, чтобы избежать избыточных продуктов.

protected void BtnAddProduct_Click(object sender, EventArgs e)
{
    switch (DdlProductList.SelectedValue)
    {
        case "1":
            PanelEpl.Visible = true;
            break;
        case "2":
            PanelProf.Visible = true;
            break;
        case "3":
            PanelCrime.Visible = true;
            break;
        case "4":
            PanelFid.Visible = true;
            break;
        case "5":
            PanelNotProf.Visible = true;
            break;
        case "6":
            PanelPriv.Visible = true;
            break;
        case "7":
            PanelPub.Visible = true;
            break;
        default:

            break;
    }
}

 protected void DdlProductList_SelectedIndexChanged(object sender, EventArgs e)
{
    DdlProductList.Items.Remove(DdlProductList.SelectedItem);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...