用于下拉列表的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;
}
一个解决方案是你不使用回发,然后通过javascript调用web方法,这将发送你的数据到数据库。
我将使用的过程是:
- 在页面中添加输入标签和html按钮。
- 在新的web服务中创建一个web方法 创建一个javascript方法来调用这个web方法A.使用脚本管理器标签和对web服务的服务引用b.或使用jquery ajax调用web服务
- 修改javascript使表单只读
- 将按钮绑定到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);
}