TrewView+Frame框架效果

第一步,先用index.aspx页创建框架。

前台代码如下:

<frameset rows="24%,76%" border="0" frameSpacing="0" bordercolor="#a2ff 2f " frameBorder="1">

              <frame name="top" noresize="true" src="top.aspx">//顶部框架

              <frameset cols="26%,74%" bordercolor="#a2ff 2f " frameBorder="1">

                     <frame name="left" noresize="true" src="left.aspx">//左边框架

                     <frame name="main" noresize="true" src="main.aspx">//右边主页面

              </frameset>

       </frameset>

第二步,分别设计top.aspx,left.aspx页面,main.aspx页面主要用以做其他页面的target

Top.aspx页面,主要是一个table中放一个datalist,然后里面用个绑定列,做个超级链接列。

前台:

 

<asp:datalist id="DataList1" runat="server"  Width="368px" Height="27px"

                                                        DataKeyField="ModuleID" ShowHeader="False" ShowFooter="False" RepeatDirection="Horizontal">

                                                        <ItemTemplate>

                                                               <asp:HyperLink id="HyperLink1" runat="server" ForeColor=#ff00ff Text='<%#DataBinder.Eval(Container.DataItem,"ModuleName")%> ' Target='left' NavigateUrl='<%#DataBinder.Eval(Container.DataItem,"ModuleUrl")%>' Width=90>

                                                               </asp:HyperLink>

                                                        </ItemTemplate>

</asp:datalist>

后台是让这个datalist绑定到数据库中去,

private void Page_Load(object sender, System.EventArgs e)

              {

                     // 在此处放置用户代码以初始化页面

                     SqlConnection con=new SqlConnection("server=.;database=FrameTest;uid=sa;pwd=sa");

                     con.Open();

                     SqlCommand cmd=new SqlCommand("select * from Module",con);

                     SqlDataReader sdr=cmd.ExecuteReader();

                     this.DataList1.DataSource=sdr;

                     this.DataList1.DataBind();

                     sdr.Close();

                     con.Close();

              }

Left.aspx页面

前台:

 

<script language="javascript">

              function window.onload()

                {

                     var strModuleNo = document.Form1.TextBox1.value;

             

                         if(strModuleNo == "10000")//客户管理

                            {

                                  

                                   parent.main.location.href = "AddCustomer.aspx";

                            }

                            if(strModuleNo == "10002")//系统维护

                            {

                                   parent.main.location.href = "UpdatePwd.aspx";

                            }

                            if(strModuleNo == "10005")//字典

                            {

                                   parent.main.location.href = "AddContactType.aspx";

                            }

                    

                }

      

              </script>

这个脚本的作用是,选择这个模块后,就自动让main页面加载一个页面。

这个页面主要是用了treeview控件。

Left.aspx后台代码:

public class left : System.Web.UI.Page

       {

              protected Microsoft.Web.UI.WebControls.TreeView TreeView1;

           static DataSet ds;

              protected System.Web.UI.WebControls.Label lblModuleID;

              protected System.Web.UI.WebControls.TextBox TextBox1;

        private string strModuleNo="";

              private void Page_Load(object sender, System.EventArgs e)

              {

                     // 在此处放置用户代码以初始化页面

                     if(!this.IsPostBack)

                     {

                            try

                            {

                                   strModuleNo = Request.QueryString[0].ToString();

                           

                            }

                            catch(Exception ex)

                            {

                                   strModuleNo = "10001";

                            }

//                          string strModuleID=Request.QueryString["ModuleNo"].ToString();//接收点击top.aspx中一项时的ModuleID;

//选出该摸板块的所有子项                      

SqlConnection con=new SqlConnection("server=.;database=FrameTest;uid=sa;pwd=sa");

                            con.Open();

                            SqlDataAdapter sda=new SqlDataAdapter();

                            sda.SelectCommand=new SqlCommand("select * from Privilege where ModuleID='"+strModuleNo+"'",con);

                            DataSet ds1=new DataSet();

                            sda.Fill(ds1);

                            ds=ds1;

                            con.Close();

                            this.initTree();

//                          this.lblModuleID.Text=strModuleNo;

                            this.TextBox1.Text=strModuleNo;

                    

 

                     }

              }

              //动态初始化数视图

              private  void initTree()

              {

                     TreeNode tNode = new TreeNode();

                     tNode.ID = "100000";

                     tNode.Text = "栏目树";

                     this.TreeView1.Nodes.Add(tNode);

                     createChildNode(tNode,"100000");

              }

 

              private void createChildNode(TreeNode node,string strParentNo)

              {

                     DataRow[] Rows = ds.Tables[0].Select("ParentID='"+strParentNo+"'");

 

                     foreach(DataRow row in Rows)

                     {

                            TreeNode childNode = new TreeNode();

                            childNode.ID = row["PrivilegeID"].ToString();

                            childNode.Text = row["PrivilegeName"].ToString();

                            childNode.NavigateUrl = row["PrivilegeUrl"].ToString();

                            childNode.Target = "main";

                            node.Nodes.Add(childNode);

                            createChildNode(childNode,row["PrivilegeID"].ToString());

                     }

                    

              }

      

       }

基本代码就这些吧,此外这个例子用到的两张表是Module,Privilege,字段分别是

Module ModuleID ModuleName  ModuleUrl

         10000    客户管理       left.aspx?ModuleNo=10000

Privilege PrivilegeID  PrivilegeName  ModuleID     PrivilegeUrl       ParentID

          100000      栏目树       

          100001      客户管理      10000                         100000

          100002    添加客户    10000       AddCustomer.aspx        100001

          100003    查询客户    10000       QuerryCustomer.aspx      100001

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值