用于下拉列表的Ajax控件,以弹出用户输入表单

本文关键字:用户 输入 表单 下拉列表 Ajax 控件 用于 | 更新日期: 2023-09-27 17:53:45

我是第一个使用asp.net和c#的实践项目的新手;我需要在我的"添加产品"页面上显示一个输入表单,并让它将用户信息发送到数据库,然后在按钮上单击回发并以只读格式显示数据。我想为此使用ajax,并且我认为最好为每个产品使用一个更新面板,在buttonclick上,我将使用一个switch case语句来显示各自的表单。我以前从未使用过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;
      }

用于下拉列表的Ajax控件,以弹出用户输入表单

一个解决方案是你不使用回发,然后通过javascript调用web方法,这将发送你的数据到数据库。

我将使用的过程是:

    在页面中添加输入标签和html按钮。
  1. 在新的web服务中创建一个web方法
  2. 创建一个javascript方法来调用这个web方法A.使用脚本管理器标签和对web服务的服务引用b.或使用jquery ajax调用web服务
  3. 修改javascript使表单只读
  4. 将按钮绑定到javascript函数onclick

这是我最终使用的。我将表单放在面板中,将它们设置为不可见,然后对ddl中的选定值运行visible=true方法,然后运行remove。DDL事件上的Selecteditem方法,以避免冗余产品。

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);
}