我想实现按一次按扭,添加一个查询条件;我用Panel来做控件容器。现在问题是添加控件按扭按下第一次时可显示。但按别的按扭panel中的控件将变成空,而且不管怎么按添加控件按扭都只能再一组控件,而不是期望的任意添加。panel的enableViewState已改成true了的。
private void AddSearchItem()
{
DropDownList list0 = new DropDownList();
ListItem[] items0 ={new ListItem("全部",""), new ListItem("服务品质","1"), new ListItem("接待员服务满意度", "item1"),
new ListItem("查新员服务满意度", "item2"),new ListItem("查新员的专业水平满意度", "item3"),
new ListItem("报交报告时间是否按时", "item4"),new ListItem("服务设施、环境满意度", "item5"),
new ListItem("服务产品质量","2"),new ListItem("报告准确、清晰度","item21"),new ListItem("报告客观、公正性","item22"),
new ListItem("报告规范性","23"),new ListItem("有建议","Suggestion")}; list0.Items.AddRange(items0); DropDownList list1 = new DropDownList();
ListItem[] items1 ={ new ListItem("很满意", "10"), new ListItem("满意", "8"), new ListItem("一般", "6"), new ListItem("不满意", "3"),
new ListItem("很不满意", "0")};
list1.Items.AddRange(items1);
list0.EnableViewState = true;
list1.EnableViewState = true;
this.Panel1.Controls.Add(list1);
this.Panel1.Controls.Add(list0);
}
protected void ibtnAdd_Click(object sender, ImageClickEventArgs e)
{
this.AddSearchItem();
}
private void AddSearchItem()
{
DropDownList list0 = new DropDownList();
ListItem[] items0 ={new ListItem("全部",""), new ListItem("服务品质","1"), new ListItem("接待员服务满意度", "item1"),
new ListItem("查新员服务满意度", "item2"),new ListItem("查新员的专业水平满意度", "item3"),
new ListItem("报交报告时间是否按时", "item4"),new ListItem("服务设施、环境满意度", "item5"),
new ListItem("服务产品质量","2"),new ListItem("报告准确、清晰度","item21"),new ListItem("报告客观、公正性","item22"),
new ListItem("报告规范性","23"),new ListItem("有建议","Suggestion")}; list0.Items.AddRange(items0); DropDownList list1 = new DropDownList();
ListItem[] items1 ={ new ListItem("很满意", "10"), new ListItem("满意", "8"), new ListItem("一般", "6"), new ListItem("不满意", "3"),
new ListItem("很不满意", "0")};
list1.Items.AddRange(items1);
list0.EnableViewState = true;
list1.EnableViewState = true;
this.Panel1.Controls.Add(list1);
this.Panel1.Controls.Add(list0);
}
protected void ibtnAdd_Click(object sender, ImageClickEventArgs e)
{
this.AddSearchItem();
}
解决方案 »
- 在TextBox 中输入的什么格式,添加数据库后前台显示时也按原来格式显示 怎么实现啊?
- 不用循环,如何把datatable中的数据插入sql数据库?
- 最近遇见一个奇怪的问题 有兴趣的请进~~~~
- 如何在非page类中创建session?
- 关于asp.net和javascript共同操作Cookie的问题
- asp.net那种访问数据库比较快节省资源
- 关于一个C#+.net+sql的SQL查询问题
- !!!Session为什么一会儿就过期了 !!!
- 如果实现这样的一种样式,一个按钮在鼠标移上去的时修,改变这个按钮的背景色。
- 谁能就关于在前台脚本中获取treeview的数值给我一点帮助?
- vs2005发布网站的问题
- 去除网页js,css的正则的问题
如果被点击
Page_Load()中
{
if(Button1被点击&&Page.IsPostBack) AddSearchItem();
}剩下的交给状态管理,不用写代码
你仔细查一下吧
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ImageButton ID="ibtnAdd" runat="server" ImageAlign="AbsMiddle" ImageUrl="~/Images/add.jpg"
OnClick="ibtnAdd_Click" />
<asp:ImageButton ID="ibtnDel" runat="server" ImageAlign="AbsMiddle" ImageUrl="~/Images/delete.jpg" /><br />
<asp:Panel ID="Panel1" runat="server" Height="50px" Width="600px">
</asp:Panel>
</div>
</form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class Admin_test : System.Web.UI.Page
{
#region 功能代码
private void AddSearchItem()
{
DropDownList list0 = new DropDownList();
ListItem[] items0 ={new ListItem("全部",""), new ListItem("服务品质","1"), new ListItem("接待员服务满意度", "item1"),
new ListItem("查新员服务满意度", "item2"),new ListItem("查新员的专业水平满意度", "item3"),
new ListItem("报交报告时间是否按时", "item4"),new ListItem("服务设施、环境满意度", "item5"),
new ListItem("服务产品质量","2"),new ListItem("报告准确、清晰度","item21"),new ListItem("报告客观、公正性","item22"),
new ListItem("报告规范性","23"),new ListItem("有建议","Suggestion")}; list0.Items.AddRange(items0); DropDownList list1 = new DropDownList();
ListItem[] items1 ={ new ListItem("很满意", "10"), new ListItem("满意", "8"), new ListItem("一般", "6"), new ListItem("不满意", "3"),
new ListItem("很不满意", "0")}; list1.Items.AddRange(items1);
list0.EnableViewState = true;
list1.EnableViewState = true;
this.Panel1.Controls.Add(list1);
this.Panel1.Controls.Add(list0); }
#endregion
protected void Page_Load(object sender, EventArgs e)
{ }
protected void ibtnAdd_Click(object sender, ImageClickEventArgs e)
{
this.AddSearchItem();
}
}
我试了试用session存放控件
这样会实现你说的功能,但是有些乱,还需改进 private Hashtable DropDownListName //用于接收控件,及其值
{
get
{
if (Session["DropDownList"] == null)
{
return null;
}
else
{
return (Hashtable)Session["DropDownList"];
}
}
set
{
Session["DropDownList"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
}
if (DropDownListName != null) //属性存在的情况下,将用户输入的值传入一个Hashtable
{
Hashtable t = new Hashtable();
for (int i = 0; i < DropDownListName.Count; i++)
{
DropDownList list0 = (DropDownList)DropDownListName[i];
this.Panel1.Controls.Add(list0);
t.Add(i, list0);
}
Session["value"] = t; //将Hashtable付值给一个Session
} } private void AddSearchItem()
{
Hashtable hs = new Hashtable();
int i = 0;
if (Session["value"] != null )
{
hs = (Hashtable)Session["value"];
i = hs.Count;
} DropDownList list0 = new DropDownList(); ListItem[] items0 ={new ListItem("全部",""), new ListItem("服务品质","1"), new ListItem("接待员服务满意度", "item1"),
new ListItem("查新员服务满意度", "item2"),new ListItem("查新员的专业水平满意度", "item3"),
new ListItem("报交报告时间是否按时", "item4"),new ListItem("服务设施、环境满意度", "item5"),
new ListItem("服务产品质量","2"),new ListItem("报告准确、清晰度","item21"),new ListItem("报告客观、公正性","item22"),
new ListItem("报告规范性","23"),new ListItem("有建议","Suggestion")}; list0.Items.AddRange(items0); DropDownList list1 = new DropDownList();
ListItem[] items1 ={ new ListItem("很满意", "10"), new ListItem("满意", "8"), new ListItem("一般", "6"), new ListItem("不满意", "3"),
new ListItem("很不满意", "0")}; list1.Items.AddRange(items1);
list0.EnableViewState = true;
list1.EnableViewState = true;
this.Panel1.Controls.Add(list1);
this.Panel1.Controls.Add(list0);
hs.Add(i, list0); //将控件的ID放入HashTable
hs.Add(i+1, list1); DropDownListName = hs; }
protected void ibtnAdd_Click1(object sender, EventArgs e)
{
this.AddSearchItem();
}