Dear All,
    我现在做ASP.NET开发时遇到一个问题,我有一个页面,是用来显示客户的信息的。但这个页面我想它同时兼顾显示和编辑的功能。    我以前的做法是,当这页面为“显示”状态时,就隐藏所有编辑的控件(一个个地去visible=false),然后把一个个label控件赋值并且显示出来,但这样做的话就会每个页面要写好多行代码去做这些事情。(如果页面比较大的话)    我现在有个想法,我想写个函数,然后直接扫描页面上所有的控件,然后把它们都隐藏,然后又显示它们的内容在它们本来的位置上,我现在已经能扫描页面上所有的控件,但不知道怎么进行下一步了。(比如:就是隐藏该TextBox控件,然后在该TextBox的位置上显示该显示的内容,反之亦然)            foreach (Control i in Page.FindControl("frmEdit").Controls)
            {
                //Response.Write(i.ID + "---" + i.GetType().FullName);            }    不知道我说得清不清楚。请大家指示。    反正主要目的就是要偷懒,一个页面实现两个功能。:)Best Regards,Benny Ng

解决方案 »

  1.   

    把编辑控件用一个Table或者TD框起来,给Table或者TD起个名,id=***,runat=server,然后在后台让那个Table或者TD隐藏不就全隐藏了么?不知道我领会的对不!
      

  2.   

    直接把要显示或隐藏的东西放到PANNEL中,然后只对一个PANNEL的visible属性设置
      

  3.   

    CSS更方便
    编辑用的表单先隐藏,放个编辑按钮,点击就显示编辑表单,用CSS可以实现无刷新,而且还省服务器资源
      

  4.   

    可能我理解错了楼主的意思,楼主是不是想先编辑内容,提交以后在同一页面上显示编辑的内容,让人确认一下?
    如果是那样的话,你用panel好点
      

  5.   

    其实我是想用一个页面,比如abc.aspx.在里面呢,如果我传参数?action=edit的话呢。这个页面就变成编辑的页面。如果我传参数?action=view的话呢。就变成显示的页面。现在我是每一个FIELD都部署两个元素,一个是给编辑用的,一个是给显示用的,分别在不同情况下就隐藏/显示。所以会比较麻烦。(因为有很多无聊的代码要写,比如control1.visible=true,control2.visible=false.等等。)所以就想知道实现这个需要的一个思想而已~:)~~
      

  6.   

    一般我的做法是:
    1、写两个panel,一个visible=true,另一个就false
    2、设置所有textbox的readonly属性