【十万火急!!!】在线等大神帮忙解决。

问题描述

需求:有三个listbox(framesize,Competence,Numberofpoles),分别把选中的值放入textbox里面,选择framesize的值显示在textbox里面,并且显示Competence里面的值,选择Competece的值在textbox里面的framesize的值后面累加,Numberofpoles也是一样在Competece的值后面累加。问题:为什么我选Competence的值后正常显示累加到textbox里面,但是去选Numberofpoles的时候会替换掉Competence的值,同时如果我在去选择Competence的值会替换掉Numberofpoles的值?代码:if(Page.IsPostBack){this.TextBox1.Text="";}publicstringtextBox_Text(stringtext,intcount,stringlistbox_text1){stringaa="";string[]arr_text=text.Split(newchar[]{','});if(arr_text.Length>0){for(inti=0;i<arr_text.Length;i++){if(i==count){arr_text[i]=listbox_text1;}aa+=","+arr_text[i];}}else{aa=text;}aa=aa.Substring(1);returnaa;}privatestaticstringlist_text="";protectedvoidframesize_SelectedIndexChanged(objectsender,EventArgse){count=0;stringsa=this.framesize.Text;string[]s=sa.Split(newchar[]{':'});foreach(varitemins){this.framesize.DataValueField=item;list_text=item;textbox=item;break;}//textbox=textbox.Substring(1,textbox.Length);this.TextBox1.Text=textBox_Text(textbox,count,list_text);if(this.framesize.SelectedItem.Selected){stringss=this.framesize.SelectedValue.ToString();string[]framesize=ss.Split(newchar[]{':'});foreach(variteminframesize){//this.framesize.DataTextField=item;strings1=item;strings2=item;this.Competence.DataSource=DAL.PARAMETERDAL.SelectCompetence1(s1);this.Competence.DataValueField="F1008_PARADESC";this.Competence.DataBind();this.RatedCurrent.DataValueField="F1008_PARADESC";//这里可以暂时不用管this.RatedCurrent.DataSource=DAL.PARAMETERDAL.SelectRatedCurrent(s2);this.RatedCurrent.DataBind();//this.Competence.Visible=true;break;}}staticstringtextbox="";protectedvoidCompetence_SelectedIndexChanged(objectsender,EventArgse){string[]listbox_value=textbox.Split(newchar[]{','});count=1;strings=textbox;if(this.Competence.SelectedItem.Selected){stringins=this.Competence.Text;string[]Competence=ins.Split(newchar[]{':'});foreach(variteminCompetence){this.Competence.DataValueField=item;s+=","+item;list_text=item;break;}this.TextBox1.Text=textBox_Text(s,count,list_text);this.Numberofpoles.Visible=true;this.Numberofpoles.DataSource=DAL.PARAMETERDAL.SelectNumberofpoles();this.Numberofpoles.DataValueField="F1008_PARADESC";this.Numberofpoles.DataBind();}}protectedvoidNumberofpoles_SelectedIndexChanged(objectsender,EventArgse){count=2;string[]listbox_value=textbox.Split(newchar[]{','});strings1=textbox;if(this.Numberofpoles.SelectedItem.Selected){stringins=this.Numberofpoles.Text;string[]Numberofpoles=ins.Split(newchar[]{':'});foreach(variteminNumberofpoles){this.Numberofpoles.DataValueField=item;s1+=","+item;list_text=item;this.RatedCurrent.Visible=true;break;}this.TextBox1.Text=textBox_Text(s1,count,list_text);}}

解决方案

本帖最后由 chasel_yy 于 2014-08-01 08:58:52 编辑
解决方案二:
if(Page.IsPostBack){this.TextBox1.Text="";}你不是一刷新就把文本框清空了么,当然会替换掉了
解决方案三:
引用1楼Z65443344的回复:

if(Page.IsPostBack){this.TextBox1.Text="";}你不是一刷新就把文本框清空了么,当然会替换掉了

那我应该怎么写?
解决方案四:
if(Page.IsPostBack){this.TextBox1.Text="";}this.TextBox1.Text="";去掉就行了
解决方案五:
if(!IsPostBack){this.TextBox1.Text="";}

解决方案六:
我不知道你这代码是从哪扒下来的,也不知道是根据什么敲上去的.但是我知道,你要想实现功能,首先得研究明白你写的代码每一句到底起什么作用,而你又要实现什么逻辑我不知道你清空文本框是出于什么目的,所以也没法替你改,只能你自己去想.
解决方案七:
引用4楼wangnaisheng的回复:

if(!IsPostBack){this.TextBox1.Text="";}

我做出来了,但是不能替换--。只能累加
解决方案八:
引用5楼Z65443344的回复:

我不知道你这代码是从哪扒下来的,也不知道是根据什么敲上去的.但是我知道,你要想实现功能,首先得研究明白你写的代码每一句到底起什么作用,而你又要实现什么逻辑我不知道你清空文本框是出于什么目的,所以也没法替你改,只能你自己去想.

清空文本框是因为首次加载的时候把他清空掉,其次,我需要把值保存在静态变量里面,然后第二次用的时候取出来。
解决方案九:
不要老想着先实现功能,后慢慢学习.你不通过实现的过程来积累,等程序做好了,你就更没法没事改着玩了.以这样的心态来做事情,永远只会复制粘贴改改,没有自己的东西.
解决方案十:
引用7楼chasel_yy的回复:

Quote: 引用5楼Z65443344的回复:
我不知道你这代码是从哪扒下来的,也不知道是根据什么敲上去的.但是我知道,你要想实现功能,首先得研究明白你写的代码每一句到底起什么作用,而你又要实现什么逻辑我不知道你清空文本框是出于什么目的,所以也没法替你改,只能你自己去想.

清空文本框是因为首次加载的时候把他清空掉,其次,我需要把值保存在静态变量里面,然后第二次用的时候取出来。

你要知道,你做的是个网站,会有很多人用你用静态变量,所有人看到的东西就都一样了.你需要把内容放到session里去做程序不要怕麻烦,也不要动不动就十万火急,你得静下心来,先想明白,后动手
解决方案十一:
我的一个同事,在写一段程序的时候,遇到代码一样的地方,就复制过来我让他放到函数里,他说,怪麻烦的,我就用一次,复制一下简单结果到最后他不只复制了一次,而是几十个地方都是复制的后来发现代码里有BUG,需要改,几十个地方都要改.
解决方案十二:
引用楼主chasel_yy的回复:

需求:有三个listbox(framesize,Competence,Numberofpoles),分别把选中的值放入textbox里面,选择framesize的值显示在textbox里面,并且显示Competence里面的值,选择Competece的值在textbox里面的framesize的值后面累加,Numberofpoles也是一样在Competece的值后面累加。问题:为什么我选Competence的值后正常显示累加到textbox里面,但是去选Numberofpoles的时候会替换掉Competence的值,同时如果我在去选择Competence的值会替换掉Numberofpoles的值?代码:if(Page.IsPostBack){this.TextBox1.Text="";}publicstringtextBox_Text(stringtext,intcount,stringlistbox_text1){stringaa="";string[]arr_text=text.Split(newchar[]{','});if(arr_text.Length>0){for(inti=0;i<arr_text.Length;i++){if(i==count){arr_text[i]=listbox_text1;}aa+=","+arr_text[i];}}else{aa=text;}aa=aa.Substring(1);returnaa;}privatestaticstringlist_text="";protectedvoidframesize_SelectedIndexChanged(objectsender,EventArgse){count=0;stringsa=this.framesize.Text;string[]s=sa.Split(newchar[]{':'});foreach(varitemins){this.framesize.DataValueField=item;list_text=item;textbox=item;break;}//textbox=textbox.Substring(1,textbox.Length);this.TextBox1.Text=textBox_Text(textbox,count,list_text);if(this.framesize.SelectedItem.Selected){stringss=this.framesize.SelectedValue.ToString();string[]framesize=ss.Split(newchar[]{':'});foreach(variteminframesize){//this.framesize.DataTextField=item;strings1=item;strings2=item;this.Competence.DataSource=DAL.PARAMETERDAL.SelectCompetence1(s1);this.Competence.DataValueField="F1008_PARADESC";this.Competence.DataBind();this.RatedCurrent.DataValueField="F1008_PARADESC";//这里可以暂时不用管this.RatedCurrent.DataSource=DAL.PARAMETERDAL.SelectRatedCurrent(s2);this.RatedCurrent.DataBind();//this.Competence.Visible=true;break;}}staticstringtextbox="";protectedvoidCompetence_SelectedIndexChanged(objectsender,EventArgse){string[]listbox_value=textbox.Split(newchar[]{','});count=1;strings=textbox;if(this.Competence.SelectedItem.Selected){stringins=this.Competence.Text;string[]Competence=ins.Split(newchar[]{':'});foreach(variteminCompetence){this.Competence.DataValueField=item;s+=","+item;list_text=item;break;}this.TextBox1.Text=textBox_Text(s,count,list_text);this.Numberofpoles.Visible=true;this.Numberofpoles.DataSource=DAL.PARAMETERDAL.SelectNumberofpoles();this.Numberofpoles.DataValueField="F1008_PARADESC";this.Numberofpoles.DataBind();}}protectedvoidNumberofpoles_SelectedIndexChanged(objectsender,EventArgse){count=2;string[]listbox_value=textbox.Split(newchar[]{','});strings1=textbox;if(this.Numberofpoles.SelectedItem.Selected){stringins=this.Numberofpoles.Text;string[]Numberofpoles=ins.Split(newchar[]{':'});foreach(variteminNumberofpoles){this.Numberofpoles.DataValueField=item;s1+=","+item;list_text=item;this.RatedCurrent.Visible=true;break;}this.TextBox1.Text=textBox_Text(s1,count,list_text);}}

==。我可以说我的不用session保存值吗?我的是在同一个页面,我只不过是暂时保存值而已。你没搞懂我的意思好吗
解决方案十三:

解决方案十四:
引用11楼chasel_yy的回复:

==。我可以说我的不用session保存值吗?我的是在同一个页面,我只不过是暂时保存值而已。你没搞懂我的意思好吗

你的不是web程序?web程序只能一个用户访问?跟几个页面,是否同一个页面有任何关系?跟暂时保存,还是永久保存,有任何关系?你网站发布后,没法限制不同用户不要同时去访问你这个"暂时"的页面,只要他们同时访问了,那么一个人点了什么,另一个人也能看见.
解决方案十五:
楼主我先吐槽你用静态变量这种方法。网页上按理来说是不应该使用静态变量的。静态变量属于全局变量,一个是不安全,所有用户都会访问这个变量,如果两个用户同时在操作这个,你就会发现这两个用户之间会互相影响。另一个是不方便管理,这么一个东西常驻内存,毕竟不是一件好事。所以单用户的数据最好放在SESSION,多用户的只读数据最好放cache,多用户的可写数据……这个不建议有。然后再来说说正文,你这个问题,代码乱七八糟,好歹我是看明白了。至少我看到问题出在这里。如果我没看错,你这个最终的功能应该是这样的模式,显示AAA,BBB,CCC,三个lisbox分别对应选择ABC三个。但是你在三个事件中都使用textbox这个静态变量来获取欲处理的字符串。问题在于,你只有在framesize_SelectedIndexChanged事件中给予了textbox赋值。其他两段时间代码中,textbox一直处于等号右边。所以在你其他两段事件处理时,textbox一直保持着你从framesize_SelectedIndexChanged所选出的值。但我不知道你初始值到底是什么,但从唯一给textBox赋值的下面这段代码来看,这个明显不会是AAA,BBB,CCC这种格式。foreach(varitemins){this.framesize.DataValueField=item;list_text=item;textbox=item;break;}所以具体我无从得知到底是哪里出了问题,建议你合理利用断点进行调试。监视textbox变量的值,看看它再哪儿变的不正常。
解决方案:
引用14楼zhaojiaji的回复:

楼主我先吐槽你用静态变量这种方法。网页上按理来说是不应该使用静态变量的。静态变量属于全局变量,一个是不安全,所有用户都会访问这个变量,如果两个用户同时在操作这个,你就会发现这两个用户之间会互相影响。另一个是不方便管理,这么一个东西常驻内存,毕竟不是一件好事。所以单用户的数据最好放在SESSION,多用户的只读数据最好放cache,多用户的可写数据……这个不建议有。然后再来说说正文,你这个问题,代码乱七八糟,好歹我是看明白了。至少我看到问题出在这里。如果我没看错,你这个最终的功能应该是这样的模式,显示AAA,BBB,CCC,三个lisbox分别对应选择ABC三个。但是你在三个事件中都使用textbox这个静态变量来获取欲处理的字符串。问题在于,你只有在framesize_SelectedIndexChanged事件中给予了textbox赋值。其他两段时间代码中,textbox一直处于等号右边。所以在你其他两段事件处理时,textbox一直保持着你从framesize_SelectedIndexChanged所选出的值。但我不知道你初始值到底是什么,但从唯一给textBox赋值的下面这段代码来看,这个明显不会是AAA,BBB,CCC这种格式。foreach(varitemins){this.framesize.DataValueField=item;list_text=item;textbox=item;break;}所以具体我无从得知到底是哪里出了问题,建议你合理利用断点进行调试。监视textbox变量的值,看看它再哪儿变的不正常。

错误我自己找出来了,只是没有在tebox_text方法里面只是没有返回textbox而已。session真的暂时用不到,这个网址只是给少量人用,并不是任何人都可以进去的。谢谢你的担心。
解决方案:
引用13楼Z65443344的回复:

Quote: 引用11楼chasel_yy的回复:
==。我可以说我的不用session保存值吗?我的是在同一个页面,我只不过是暂时保存值而已。你没搞懂我的意思好吗

你的不是web程序?web程序只能一个用户访问?跟几个页面,是否同一个页面有任何关系?跟暂时保存,还是永久保存,有任何关系?你网站发布后,没法限制不同用户不要同时去访问你这个"暂时"的页面,只要他们同时访问了,那么一个人点了什么,另一个人也能看见.

[img=http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/7.gif][/img]这个没多大关系。只是看下参数而已,不会做任何的操作
解决方案:
引用5楼Z65443344的回复:

我不知道你这代码是从哪扒下来的,也不知道是根据什么敲上去的.但是我知道,你要想实现功能,首先得研究明白你写的代码每一句到底起什么作用,而你又要实现什么逻辑我不知道你清空文本框是出于什么目的,所以也没法替你改,只能你自己去想.

难道必须用临时会话状态吗
解决方案:
引用15楼chasel_yy的回复:

错误我自己找出来了,只是没有在tebox_text方法里面只是没有返回textbox而已。session真的暂时用不到,这个网址只是给少量人用,并不是任何人都可以进去的。谢谢你的担心。

你这就是不负责任的心态.哪怕目前只是给一个人用,你就用了静态变量那么假如3年以后,用户要求给10个人用,还要把你叫回来重新改代码,重新发布?
解决方案:
引用18楼Z65443344的回复:

Quote: 引用15楼chasel_yy的回复:
错误我自己找出来了,只是没有在tebox_text方法里面只是没有返回textbox而已。session真的暂时用不到,这个网址只是给少量人用,并不是任何人都可以进去的。谢谢你的担心。

你这就是不负责任的心态.哪怕目前只是给一个人用,你就用了静态变量那么假如3年以后,用户要求给10个人用,还要把你叫回来重新改代码,重新发布?

哦。受教了
解决方案:
基本的权限分配你应该有所了解吧?用户应该可以自己新增用户,并给用户分配相应权限,哪些人可以使用哪些功能如果用户给很多人分配了这个功能,那就会是个大BUG.而如果用户连分配权限也做不到,那你以后就不用编代码了,就专业给用户做后期维护就好了,一有人员变动,就要把你找回来改代码.
解决方案:
引用20楼Z65443344的回复:

基本的权限分配你应该有所了解吧?用户应该可以自己新增用户,并给用户分配相应权限,哪些人可以使用哪些功能如果用户给很多人分配了这个功能,那就会是个大BUG.而如果用户连分配权限也做不到,那你以后就不用编代码了,就专业给用户做后期维护就好了,一有人员变动,就要把你找回来改代码.

这个网址不提供注册。但是还是会有权限的
解决方案:
引用21楼chasel_yy的回复:

Quote: 引用20楼Z65443344的回复:
基本的权限分配你应该有所了解吧?用户应该可以自己新增用户,并给用户分配相应权限,哪些人可以使用哪些功能如果用户给很多人分配了这个功能,那就会是个大BUG.而如果用户连分配权限也做不到,那你以后就不用编代码了,就专业给用户做后期维护就好了,一有人员变动,就要把你找回来改代码.

这个网址不提供注册。但是还是会有权限的

楼主你还是没明白公共静态变量的坏处。就和我上面说的,通常网页上不要有可以公共写入的变量,这是因为这种变量是所有用户公用的,也就是有权限登陆这个网页的所有人都有写入的权限,后写入的人可能会覆盖掉前一个人的数据。而且公共的写入变量时,多用户使用时可能会导致写入冲突。当然,你要是属于作业或者临时凑合用的网页,这么用也没啥。应付差事的东西写大段缓存和SESSION读写毕竟消费比太低。但是正式使用的软件还是别这样了。此外,你这个例子里其实完全不需要这个静态变量的,直接用POSTBACK的TEXTBOX.TEXT就可以了啊。
解决方案:
这个不是很懂···帮顶····
解决方案:
引用22楼zhaojiaji的回复:

Quote: 引用21楼chasel_yy的回复:
Quote: 引用20楼Z65443344的回复:
基本的权限分配你应该有所了解吧?用户应该可以自己新增用户,并给用户分配相应权限,哪些人可以使用哪些功能如果用户给很多人分配了这个功能,那就会是个大BUG.而如果用户连分配权限也做不到,那你以后就不用编代码了,就专业给用户做后期维护就好了,一有人员变动,就要把你找回来改代码.

这个网址不提供注册。但是还是会有权限的

楼主你还是没明白公共静态变量的坏处。就和我上面说的,通常网页上不要有可以公共写入的变量,这是因为这种变量是所有用户公用的,也就是有权限登陆这个网页的所有人都有写入的权限,后写入的人可能会覆盖掉前一个人的数据。而且公共的写入变量时,多用户使用时可能会导致写入冲突。当然,你要是属于作业或者临时凑合用的网页,这么用也没啥。应付差事的东西写大段缓存和SESSION读写毕竟消费比太低。但是正式使用的软件还是别这样了。此外,你这个例子里其实完全不需要这个静态变量的,直接用POSTBACK的TEXTBOX.TEXT就可以了啊。

恩,谢谢
解决方案:
引用9楼Z65443344的回复:

Quote: 引用7楼chasel_yy的回复:
Quote: 引用5楼Z65443344的回复:
我不知道你这代码是从哪扒下来的,也不知道是根据什么敲上去的.但是我知道,你要想实现功能,首先得研究明白你写的代码每一句到底起什么作用,而你又要实现什么逻辑我不知道你清空文本框是出于什么目的,所以也没法替你改,只能你自己去想.

清空文本框是因为首次加载的时候把他清空掉,其次,我需要把值保存在静态变量里面,然后第二次用的时候取出来。

你要知道,你做的是个网站,会有很多人用你用静态变量,所有人看到的东西就都一样了.你需要把内容放到session里去做程序不要怕麻烦,也不要动不动就十万火急,你得静下心来,先想明白,后动手

请教下,以上代码应该如何写到session里面去。
解决方案:
session["a"]="1";就行了取出的时候先判断if(session["a"]!=null)str=session["a"].tostring();
解决方案:
引用26楼Z65443344的回复:

session["a"]="1";就行了取出的时候先判断if(session["a"]!=null)str=session["a"].tostring();

恩,我是这么做的,差不多做完了,代码也改了,编码格式也改了--。
解决方案:
我是来学习的~!~~~~~

时间: 2024-09-06 20:57:51

【十万火急!!!】在线等大神帮忙解决。的相关文章

一个空指针异常问题,求大神帮忙解决下,在线等

问题描述 一个空指针异常问题,求大神帮忙解决下,在线等 public void getQaList(String type, String qid, String qid_min, String cat_id, String tag_id, String page, String qid_top, boolean isShowLoadingDialog) { List<RequestParameter> parameter = new ArrayList<RequestParameter

即时通讯-大神帮忙解决一下这个问题

问题描述 大神帮忙解决一下这个问题 以下代码实现功能: 1.在即时通讯软件中,一般都有"好友列表"功能,好友上限假定为5000 2.每个好友的数据结构为:用户唯一标识.用户账号.用户名称.用户在线状态 3.好友列表使用std::list作为数据容器 4.列表中实现了好友列表排序功能,排序 在代码实现中,当用户在线状态与用户昵称均相同的情况下,对应的数据节点在friendList中相对位置不稳定.例如A,B1,B2, C, D这5个好友用户,排序优先级为A > B1 = B2 &g

.net-sql列转行,求sql大神帮忙解决。

问题描述 sql列转行,求sql大神帮忙解决. 如题 姓名 部门 题目ID 题目答案 A 编辑部 1 tt A 编辑部 2 yy A 编辑部 3 hh B 测试部 1 tt B 测试部 3 cc 我想要这样的结果 姓名 部门 第一题 第二题 第三题 ...等 A 编辑部 tt yy hh B 测试部 tt NULL CC 解决方案 你的题目只有1,2,3还是不确定呢 解决方案二: SELECT distinct 姓名 ,部门 ,LEFT(UserList,LEN(UserList)-1) as

spring和hibernate整合出错,请大神帮忙解决,谢谢

问题描述 spring和hibernate整合出错,请大神帮忙解决,谢谢 <!-- Hibernate和spring整合的配置 配置SessionFactory --> <!-- 指定hibernate的配置文件位置 --> <!-- 配置c3p0数据库连接池 --> <!--通过反射设置set方法--> <!-- 数据连接信息 --> <!-- 其他配置 --> <!-- 初始化时获取三个连接,取值应在minPoolSize与

library-请教大神帮忙解决一下eclipse里面android_NDK编译.c文件报错

问题描述 请教大神帮忙解决一下eclipse里面android_NDK编译.c文件报错 "D:Androidandroid-ndk-r9dndk-build.cmd" all 系统找不到指定的文件. [armeabi-v7a] Compile thumb : hello-jni <= hello-jni.c jni/hello-jni.c:31:1: fatal error: opening dependency file ./obj/local/armeabi-v7a/objs

安卓-Android 求大神帮忙解决屏幕适配的问题

问题描述 Android 求大神帮忙解决屏幕适配的问题 小弟是一个初学者,不会弄这种屏幕适配的问题,如何让这些书本不论在何种尺寸的屏幕上都能刚好在书架上? 解决方案 1.相应的尺寸会有相应的文件,相应的文件有相应的图片. 2.在编程中尽量使用dp不要使用px

bug-String转换成可变参数的BUG,求大神帮忙解决一下,实在不知道如何解决。

问题描述 String转换成可变参数的BUG,求大神帮忙解决一下,实在不知道如何解决. java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Object[] at android.util.ArrayMap.allocArrays(ArrayMap.java:171) at android.util.ArrayMap.put(ArrayMap.java:444) at android.os.Bund

webview-WebView控件加载失败 求大神帮忙解决

问题描述 WebView控件加载失败 求大神帮忙解决 public class MainActivity extends AppCompatActivity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webVi

value-我已经调了整整两天,在线等大神求解决

问题描述 我已经调了整整两天,在线等大神求解决 Error:(28, -1) android-apt-compiler: [main] E:projectsaleForAndroidappsrcmainAndroidManifest.xml:28: error: Error: String types not allowed (at 'screenOrientation' with value 'sensorPortrait'). 解决方案 android版本呢?这个2.3以前是不支持的. 解决