我在做一个添加记录页面,里面有一些文本框、附件等,其中有一个文本框需要用户口在另一页面查询后再将查询结果ID号提交回本页,而且可能需要多次提交,中间用空格分开,请问,这样的需求应该怎么做呀,我之前是点一按钮链接到另一页面,再把查询结果返回给本页面,但是本页面之前输入的数据就都没有了?新手,只需要提供思路,不胜感激!asp.netpairy

解决方案 »

  1.   

    如果以前你用的是 a=b,每次都覆盖了,
    a = a + (a==""?"",",") + b,就好了
      

  2.   

    refer:
    http://www.cnblogs.com/insus/archive/2012/09/13/2682766.html
      

  3.   

    你的要求,会带来一个问题,你要面对怎样存储这些值,显示它,还要处理更新的问题。
    因为它是一对多的关系:http://www.cnblogs.com/insus/archive/2012/09/13/2682919.html
      

  4.   

    是,所填的该项(相关人员)与添加的信息之间是一对多的关系,我需要在添加信息的同时,在相关人员表中做一下标记,以关联两者之间的关系。所以在添加操作我要写两次数据库。除了相关人员,还有个相关单位,也是类似的情况,除了这样,我真不知道怎么处理这样的数据关系,表结构已经固定,不可能更改了。
    我的想法是:点击添加相关人员按钮,弹出一个页面,在这个页面中我可以(用Listview)输入条件把想要的人员列出来选中,然后提交到添加信息页面的相关人员文本框中,如有多个,重复操作。在添加相关人员过程中,我之前在添加信息页面填写的其他文本框不会被刷新,也就是无刷新提交的,这样的效果需要怎么才能达到啊?
      

  5.   

    对于这个问题,Insus.NET后来的做法,就是把它们分开为两个表,在主表中,根本没有这个存储的字段了。
    需要创建另外一个子表,是用来存储这些选择的值的表。
    它太约在几个关键的字段,ID, foreign key(主表的ID) ,value,isenable等。
    第一次做选择时,会把每一个值分别插入这个子表中。
    如果更新时,如果有的,就把isenable这个设为true,而没有的,就设为false.
    显示时,只取 enable这个字段为true的即可。实际上,就是做成一对多的关系。解决了所有选择的值放在一个字段,存放容易,拆分,更新,或是删除,还是做其它统计时难的问题。
      

  6.   

    因为里面有很多文本框的,一提交,我之前填的文本框就都清空了,页面不是原来的那个页面了,原来的值就不保留了。
    在ASP.NET里,输入框控件的值是会自动保持的,没有赋值语句是不会被清空的,当然前提时使用服务端控件,而且是本页提交,我想没有理由不使用这两项技术吧。
      

  7.   

    我是初学,谢谢您的热心指导,我将写数据库的代码写在后台Page_Load方法中了,这样每次一本页提交,就会执行一次数据库操作,因此我不想让整页提交,因为我没法区分是哪种提交需求过来的。不过从您的回复,我又学到了一项常识,就是服务端控件本页提交会自动保存控件值,是用ViewState保存的是吧?
      

  8.   

    Hi,pairy1682003下面有两篇一对多相关的,可以加强。
    http://www.cnblogs.com/insus/archive/2012/09/13/2683391.html
    http://www.cnblogs.com/insus/archive/2013/04/23/3035447.html有时候,我们不能单单为了显示方便,而忽略了还要对其进行编辑,更新,删除,还有拆分之后的数据分析等处理。
    因此Insus.NET不建议用一个字段来存储多值,用分隔符号来分割,而是创建另外一个表来存储,分隔一个(组)存为一笔记录。