就是我在数据库里有一个商品表格,一个是客户信息表格,他们的格式是不同,主要表头是不同的,我要根据下拉菜单的选择,当读商品表格时页面出现的是商品表格的形式,当读客户信息时读的是客户信息的格式,我本来同REPEATER读,但是根据商品和客户信息建立了不同的两个读数据库的页面,我能把两个放在一起吗?

解决方案 »

  1.   

    当然可以,
    放两个 Repeater, 用户选择哪个就绑定对应那个不就可以了吗?
      

  2.   

    可以阿,可是这样的重用性很有必要吗?
    我一般是把比较相似的页面和在一起,不一样的,以后修改起来也很麻烦吧,
    万一用户改了需求,你可就麻烦了
    不过可以帮定到2个Repeater上,控制显示
    这个没什么影响
      

  3.   

    怎么个控制显示啊我的主页面是这样的,是一个下拉菜单
    <%@ Page Language="C#"%>
    <%@ Import Namespace="System.Data.OleDb"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
        void Page_Load(Object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                OleDbConnection condatabase;
                OleDbCommand cmdSelectdatabase;
                OleDbDataReader dtrdatabase;
                // Retrieve records from database
                condatabase = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=E:\\powerflow\\loadflow.mdb");
                condatabase.Open();
                cmdSelectdatabase = new OleDbCommand("Select * from main ", condatabase);
                dtrdatabase = cmdSelectdatabase.ExecuteReader();            // Bind to dropdownlist
                droplist.DataSource = dtrdatabase;
                droplist.DataTextField = "TYPE";
                droplist.DataBind();
                dtrdatabase.Close();
                condatabase.Close();
            }
        }
        void Search_Click(object sender, System.EventArgs e)
        { 
            OleDbConnection condatabase;
            string strSelect;
            OleDbCommand cmdSelect;        condatabase = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=E:\\powerflow\\loadflow.mdb");
            strSelect = "Select SIGN From main Where TYPE=@type ";
            cmdSelect = new OleDbCommand(strSelect, condatabase);        cmdSelect.Parameters.Add("@type", droplist.SelectedValue);
            condatabase.Open();
            
            if ((int)cmdSelect.ExecuteScalar()!=0)
            {
                Response.Redirect("node1.aspx?rr=" + droplist.SelectedValue);
            }
            else
            {
                Response.Redirect("Branch.aspx?rr="+droplist.SelectedValue);
            }
            condatabase.Close();
        }
        
        </script>
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server" >
        <div>
        <asp:DropDownList
      ID="droplist"
      Runat="Server" />
    <asp:Button ID="Button1"
      Text="查询" 
      Runat="Server" OnClick="Search_Click"/>    </div>
        </form>
    </body>
    </html>node1.aspx?页面是这样的
    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Data.OleDb" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
        string strsql;
        string tt;
        protected void Page_Load(object sender, EventArgs e)
        {
            OleDbConnection condatabase;
            OleDbCommand cmdSelectdatabase;
            OleDbDataReader dtrdatabase;
            tt = Request.QueryString["rr"].ToString(); 
            strsql = "select * from " + tt;
            //string dbname = Server.MapPath("loadflow.mdb");
            condatabase = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\powerflow\\loadflow.mdb");        condatabase.Open();
            cmdSelectdatabase = new OleDbCommand(strsql, condatabase);
            dtrdatabase = cmdSelectdatabase.ExecuteReader();        rptdatabase.DataSource = dtrdatabase;
            rptdatabase.DataBind();        dtrdatabase.Close();
            condatabase.Close();        
        }   
    </script><html xmlns="http://www.w3.org/1999/xhtml" >
    <head id="Head1" runat="server">
        <title>node1</title>
    </head>
    <body>
        <form id="form1" runat="server">
       
       
        <asp:Repeater ID="rptdatabase" runat="server">
           
           <HeaderTemplate>
        <table style="top:800px" border="1"">
             <tr bgcolor="#eeeeee">
                <th>BUSNAME</th>
                <th>PERUNITS</th>
                <th>NODE1</th>
                <th>NODE2</th>
                <th>NODETYPE</th>
                <th>Umag</th>
                <th>Uangle</th>
                <th>PL</th>
                <th>QL</th>
                <th>PG</th>
                <th>QG</th>
                <th>PERUNIT</th>
                <th>U0</th>
                <th>LimitValue1</th>
                <th>LimitValue2</th>
                <th>Pc</th>
                <th>Qc</th>
                <th>NodeA</th>
            </tr>
           </HeaderTemplate>
           
           <ItemTemplate>
             <tr>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "BUSNAME") %></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "PERUNITS") %></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "NODE1") %></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "NODE2") %></td>
                <td height="10px"><%# DataBinder.Eval(Container.DataItem, "NODETYPE") %></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "Umag") %></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "Uangle") %></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "PL")%></td>
                <td height="10px"><%# DataBinder.Eval(Container.DataItem, "QL") %></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "PG") %></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "QG") %></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "PERUNIT")%></td>
                <td height="10px"><%# DataBinder.Eval(Container.DataItem, "U0")%></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "LimitValue1")%></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "LimitValue2")%></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "Pc") %></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "Qc")%></td>
               <td height="10px"><%# DataBinder.Eval(Container.DataItem, "NodeA") %></td>
            </tr>
           </ItemTemplate>
          
          <FooterTemplate>
        </table>
          </FooterTemplate>
        
        </asp:Repeater>
            &nbsp; &nbsp;
            <asp:HyperLink ID="HyperLink1" runat="server" Style="left:949px; 
                top: 484px" NavigateUrl="~/Default.aspx">返回</asp:HyperLink>
        
       
        </form>
    </body>
    </html>
    Branch.aspx是另外一个
    我的表头显示在页面上不是固定的吗
    可以怎么改,怎么实现用户选择哪个就绑定对应那个啊