1.现在我已经在页面有两个控件一个textbox(用来写存储文件的描述)button(上传文件的按钮,且文件上传后会出现‘查询’按钮,‘保存’按钮,‘删除’等按钮---如下图所示)实在想不出法子怎么弄,就在想是不是可以利用gridview来实现该功能,麻烦各位帮忙看看~~提供下意见~~~谢谢2.还有一个也是同样界面的设计问题~~~由于我的界面中会有一个dropdownlist按钮,我会根据其中的选项使其按钮的下方出现对应的信息,只是还有一个特殊的功能就是假设我选中的是‘依人员’还会跳出一个对方框来供我选择,我需要的人员名称。
前部分的效果图如下希望走过路过的C友帮过忙~~~想想法子怎么实现~~,我现在第二部分是实现了大部分但是感觉那样的方式好像不太好维护~~~

解决方案 »

  1.   

    1。同意楼上的,容器最好,统一控制一组控件的展现/隐藏
    2。控件联动效果,也是用容器,onselectchange事件触发
      

  2.   

    第一个你可以给你要隐藏的列或行加ID 前台就用JS控制 后台的话你给加上runat = "server" 在需要隐藏的时候把他的visible = false;
    第2个是级连刷新吧,没做过可以在网上查查.
      

  3.   

    1.可是由于我在第一种情况的时候可能不止要加入一组控件,我是每次点击那个“新增表格”就要有一组同样的样式出现的哦(就是有‘保存’等按钮的那组出现),所以我在想是不是需要用到动态增加控件,只是不知道这样的可行性多大?
    2.是不是把所有已知的可能结果分别放在一个pannel中,然后去控制他的显示跟隐藏,如果是这样就是我们在编程的界面很不好看,我怕以后维护的人很难做呢?还是有别的意思???我理解错误?
      

  4.   

    引用 3 楼 lemong 的回复:
    1。同意楼上的,容器最好,统一控制一组控件的展现/隐藏 
    2。控件联动效果,也是用容器,onselectchange事件触发 
      

  5.   

    1 用visible隐藏控件,激发事件后显示。
    2将要隐藏的控件放入一个DIV里 初始状态设置display: none 激发事件后显示。
      

  6.   

    额~~~可能是我需求没有说得很明白,我第一种状况的话不止就出现那么一个一次的效果,而是会可能有多个上传的文件,然后就会有多次显示(实现原来实现的那样)也就是我显示的控件次数是不确定的,总不好要我去定义100来个panel然后再来隐藏跟显示吧?我觉得这样不符合现实~~
      

  7.   

    恩恩恩~~就是这个意思~~~发现我又错了~~原来是我导致大家往错误的方向解题的,我向楼上的各位say sorry
      

  8.   

    第二个 方法很多 ,可以使用iframe来做
      

  9.   

    o(∩_∩)o...我要的功能大概就是这样,谢谢了~~~PS 还有楼上各位的帮忙~~~
      

  10.   

    第二个问题我用Label配合 <input id="Hidden1" type="hidden" runat=server />后就可以啦~~
      

  11.   

    具体的后台代码呢?操作呢?我有个可以动态添加fileUpload控件的。 private void SFUPC()
        {        ArrayList AL = new ArrayList();//创建动态增加数组
            foreach (Control C in F.Controls)
            {
                //在表格中查找出FileUpload控件添加到ArrayList中
                if (C.GetType().ToString() == "System.Web.UI.HtmlControls.HtmlTableRow")
                {
                    HtmlTableCell HTC = (HtmlTableCell)C.Controls[0];
                    foreach (Control FUC in HTC.Controls)
                    {
                        if (FUC.GetType().ToString() == "System.Web.UI.WebControls.FileUpload")
                        {
                            FileUpload FU = (FileUpload)FUC;
                            
                            //添加FileUpload控件
                            AL.Add(FU);
                            
                        }
                    }
                    foreach (Control TBC in HTC.Controls)
                    {
                        if (TBC.GetType().ToString() == "System.Web.UI.WebControls.TextBox")
                        {
                            TextBox TB = (TextBox)TBC;
                            AL.Add(TB);
                        }                }
                }
            }
            //把ArrayList添加到Session中
            Session.Add("FilesControls", AL);
        }
        //该方法用于添加一个上传文件的控件
        private void InsertC()
        {
            //实例化ArrayList
            ArrayList AL = new ArrayList();
            this.F.Rows.Clear(); //清除id为F表格里的所有行
            //this.tb_bannerUrl.Rows.Clear();
            GetInfo();
            //表示 HtmlTable 控件中的 <tr> HTML 元素
            HtmlTableRow HTR = new HtmlTableRow();
            //表示 HtmlTableRow 对象中的 <td> 和 <th> HTML 元素
            HtmlTableCell HTC = new HtmlTableCell();
            //在单元格中添加一个FileUpload控件
            HTC.Controls.Add(new FileUpload());
            HTC.Controls.Add(new TextBox());
            //在行中添加单元格
            HTR.Controls.Add(HTC);
            //在表中添加行
            F.Rows.Add(HTR);
            //tb_bannerUrl.Rows.Add(HTR);
            SFUPC();
        }
        //该方法用于将保存在Session中的上传文件控件集添加到表格中
        private void GetInfo()
        {
            ArrayList AL = new ArrayList();
            if (Session["FilesControls"] != null)
            {
                AL = (ArrayList)Session["FilesControls"];
                for (int i = 0; i < AL.Count; i++)
                {
                    HtmlTableRow HTR = new HtmlTableRow();
                    HtmlTableCell HTC = new HtmlTableCell();
                    HTC.Controls.Add((System.Web.UI.WebControls.FileUpload)AL[i]);
                    HTC.Controls.Add((System.Web.UI.WebControls.TextBox)AL[i]);
                    HTR.Controls.Add(HTC);
                    F.Rows.Add(HTR);
                    //tb_bannerUrl.Rows.Add(HTR);
                }
            }
        }
        private void UpFile()//该方法用于执行文件上传操作
        {
            //获取文件夹路径
            string FilePath = Server.MapPath("./") + "File";
            // 获取客户端上载文件的集合
            HttpFileCollection HFC = Request.Files;
            for (int i = 0; i < HFC.Count; i++)
            {
                //访问指定的文件
                HttpPostedFile UserHPF = HFC[i];
                try
                {
                    //判断文件是否为空
                    if (UserHPF.ContentLength > 0)
                    {
                        //将上传的文件存储在指定目录下
                        UserHPF.SaveAs(FilePath + "\\" + System.IO.Path.GetFileName(UserHPF.FileName));
                    }
                }
                catch
                {
                    lblMessage.Text = "上传失败!";
                }
            }
            if (Session["FilesControls"] != null)
            {
                Session.Remove("FilesControls");
            }
            lblMessage.Text = "上传成功!";
        }
        protected void addBanner_Click(object sender, EventArgs e)
        {
            InsertC();//执行添加控件方法
            lblMessage.Text = "";
        }
        protected void upLoadBanner_Click(object sender, EventArgs e)
        {
            if (this.FileUpload6.PostedFile.FileName != "")
            {
                UpFile();//执行上传文件
                SFUPC();
            }
            else
            {
                Response.Write("<script>alert('上传文件不能为空!');location=AdChang.aspx</script>");
            }
        }
    我想加了textbox控件,但是总有错误,请帮我改改