listbox 提交保存数据问题??
一个数据双向选择器
从左边listbox选择数据,移动到右边listbox.
点保存按钮时,右边listbox中的项就全部清空了,主要是页面重新load了。
请问该怎样保存右边listbox中的项???
先谢了
问题点数:100、回复次数:20Top
1 楼zhangqiushui(水)回复于 2005-05-18 12:30:34 得分 0
把操作放到if (!IsPostBack())中Top
2 楼singlepine(小山)回复于 2005-05-18 12:37:12 得分 0
if(!Page.IsPostBack)
{
//code
}Top
3 楼shan1119(大天使,卐~解!)回复于 2005-05-18 12:37:36 得分 0
放到if (!IsPostBack())中Top
4 楼cyzzal(cyzzal)回复于 2005-05-18 12:47:41 得分 0
把什么操作放到if (!IsPostBack())中???Top
5 楼cyzzal(cyzzal)回复于 2005-05-18 12:51:17 得分 0
请详细一点
Top
6 楼flyye_cs(一叶孤舟)回复于 2005-05-18 12:52:17 得分 0
每当点击Web网页上的Button、LinkButton或ImageButton控件时,表单就会被发送到服务器上。如果控件的AutoPostBack属性被设置为true,如果CheckBox、CheckBoxList等控件的状态被改变后,也会使表单会发送回服务器。
每次当表单被发送回服务器,就会被重新加载,启动Page_Load事件,执行Page_Load事件处理程序中的所有代码。把网页的初始化代码放在这里是最合适不过的了。我们经常会希望在每次加载网页时执行一些代码,而希望只有在网页第一次加载时执行另一些代码,甚至希望一些代码在除首次加载外的每次加载时执行。
可以利用IsPostBack特性来完成这一功能。在网页第一次加载时,该属性的值是false。如果网页因回送而被重新加载,IsPostBack属性的值就会被设置为true。通过测试,可以在任意时候执行指定的代码。下面是相关的C#代码:
protected void Page_Load(Object sender, EventArgs e)
{
// 网页每次加载时,执行的一些操作
if (!IsPostBack)
{
// 网页第一次加载时执行的操作
}
else
{
// 回送时执行的操作
}
// 网页每次加载时执行的操作
}
我们希望尽量不引起回送(每次回送都会要求服务器进行一系列的操作),即使引起回送后。也希望能够执行尽量少的操作。大规模、浪费时间的操作(例如数据库查找)尤其应当避免,因为它们能够延长应用程序的响应时间。
Top
7 楼shiningpolarstar(闪亮的北极星)回复于 2005-05-18 13:01:07 得分 10
我觉的你的pageload里肯定重新绑定了列表控件,不然的话,是不会出现你这样的问题的,.net会自已缓存各个控件的状态,不会丢失的Top
8 楼cliff1002(挑战,并快乐着! )回复于 2005-05-18 13:13:33 得分 0
page_load里使用
if not ispostback then
end if
Top
9 楼cyzzal(cyzzal)回复于 2005-05-18 13:19:31 得分 0
我的代码是这样的:
左边listbox项是从数据表中查出来的。绑定过程我放在if (!IsPostBack)中。
右边listbox默认是空的。
从左边listbox往右边listbox移动数据项.(是javascript实现的)
在页面下方有一个保存按钮,我现在保存时,右边listbox的项就清空了。
请问:我还需要把什么操作放到if (!IsPostBack)里??
Top
10 楼njuzgj(罐子)回复于 2005-05-18 13:28:42 得分 0
MARKTop
11 楼cyzzal(cyzzal)回复于 2005-05-18 13:36:38 得分 0
这个问题这几天我一直在搜索,可以说困扰着很多人。
各位高人难道就不能给一个明确的解决方法吗?
帮一下像我这样的新手Top
12 楼cyzzal(cyzzal)回复于 2005-05-18 13:56:21 得分 0
难道没人知道吗?????????
回复的朋友好像并没有理解我的意思Top
13 楼cyzzal(cyzzal)回复于 2005-05-18 14:46:25 得分 0
怎么会没人理我
斑竹你怎么高高在上,不说话呢? 帮忙看看Top
14 楼flyye_cs(一叶孤舟)回复于 2005-05-18 14:54:42 得分 0
代码贴出来看看~~Top
15 楼lingwu05()回复于 2005-05-18 14:55:42 得分 20
我喜欢用数据库先到一个ArrayList内,再绑定就行了。Top
16 楼cyzzal(cyzzal)回复于 2005-05-18 15:12:44 得分 0
左边listbox绑定代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
Init_Prop(); // 初始化属性
Init_Date(); // 初始化数据
}
}
private void Init_Prop()
{
// 按钮效果
BtnYes.Attributes.Add("onmouseover","this.className=\"btn_Xp_Bg2_Over\";");
BtnYes.Attributes.Add("onmouseout","this.className=\"btn_Xp_Bg2\";");
BtnNo.Attributes.Add("onmouseover","this.className=\"btn_Xp_Bg2_Over\";");
BtnNo.Attributes.Add("onmouseout","this.className=\"btn_Xp_Bg2\";");
}
private void Init_Date()
{
string str_Sql;
if(Request["menu_no"]==null)
{
BtnYes.Enabled=false;
BtnNo.Enabled=false;
}
else
{
str_Sql="select * from kjxx_module_info where xuhao<>1 order by xuhao asc";
tobeadd2.DataSource=conn.GetDs(str_Sql);
tobeadd2.DataBind();
conn.close();
}
}
右边listbox默认是空的.
从左边移动数据到右边listbox,这样右边listbox里就有数据项了。
我现在想保存右边listbox中的数据项。可是一点保存按钮,右边listbox中的数据项就不见了。
该怎样保存?Top
17 楼cyzzal(cyzzal)回复于 2005-05-18 15:26:48 得分 0
继续顶Top
18 楼cyzzal(cyzzal)回复于 2005-05-18 15:49:17 得分 0
高手 我望眼欲穿Top
19 楼hchxxzx(NET?摸到一点门槛)回复于 2005-05-18 15:51:51 得分 30
列表框/下拉框中,用脚本写入的值,在页面提交之后,你无法保持脚本写入的值,也无法以服务端取值的方式获取选中的脚本写入的值,这也可以说是一个BUG.
要实现保持状态,你必须在页面中放一个隐藏控件如HIDDEN,在页面提交时,把用脚本写入的值,读取出来,以某种格式写到此HIDDEN里面,然后,在提交之后,根据HIDDEN里面的值,手工恢复列表框/下拉框的值,这样才能保持.
至于取值,你必须用this.Request.Form["下拉框ID"]的方式获取.Top
20 楼alien54155415()回复于 2005-05-18 16:14:00 得分 40
listbox待頁面刷新後,在client端的設定是無法保持的,除非象textbox這種可以輸入的control.
所以,你要麼隱藏一個textbox甚麼的來紀錄操作的內容;要麼就寫到server端去,把listbox的AutoPostBack="True"Top
相关问题
- 不提交页面,客户端保存数据的问题!顶者有分!
- 如何在表单提交,保存数据库后,根据保存结果弹出模态对话框?
- 在做Jsp提交保存到数据库,在还没有跳转到保存页面时按了多次保存,保存了多条记录.为什么?
- 数据保存
- getParameter是不是将页面提交的数据保存到数据库的唯一方法?谢谢
- 谁能给个在页面提交数据并保存到数据库表(拥JAVABEAN)的简单例子,谢谢!
- 怎样利用JAVABEAN将JSP页面提交的数据保存到数据库,请给代码好吗?谢谢!
- 提交一副图片,不保存不放入数据库,怎么在另外一个页面显示出来
- ado.net中的事务须提交后才能保存到数据库,如果这样还要回滚干什么?
- 非跨页面的数据,提交前临时保存在Cookie、Session还是在ViewState里更合适呢?




