zoukankan      html  css  js  c++  java
  • webForm练习1(地区导航)

    使用LINQ TO SQL类连接数据库。

    create database mydb
    go
    use mydb
    go
    CREATE TABLE [dbo].[ChinaStates] (
      [AreaCode] varchar(20) COLLATE Chinese_PRC_CI_AS NOT NULL,
      [AreaName] nvarchar(20) COLLATE Chinese_PRC_CI_AS NOT NULL,
      [ParentAreaCode] varchar(20) COLLATE Chinese_PRC_CI_AS NOT NULL,
      [Root] bit NOT NULL,
      [Zone] smallint NOT NULL,
      [NavigateURL] varchar(100) COLLATE Chinese_PRC_CI_AS,
      CONSTRAINT [PK_TB_Area] PRIMARY KEY CLUSTERED ([AreaCode])
    )
    ON [PRIMARY]

    编辑页面

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body style="height: 136px">
        <form id="form1" runat="server">
        <div>
        
            <asp:Button ID="Button1" runat="server" Text="在此级别添加地区" Width="120px" OnClick="Button1_Click" />
            <asp:Button ID="Button2" runat="server" Text="返回上级" OnClick="Button2_Click" />
        
        </div>
            <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
                <HeaderTemplate>
    <table>
                    <tr>
                             <td>地名</td>
                  
                             <td>编号</td>
                   
                             <td>上一级</td>
                             <td>管理</td>
                             <td>删除</td>  
                    </tr>
                </HeaderTemplate>
                <ItemTemplate>
                    <tr>
                        <td>
                       <%#Eval("AreaName") %>
                        </td>
                         <td>
                       <%#Eval("AreaCode") %>
                        </td>
                        <td>
                       <%#Eval("ParentAreaCode") %>
                        </td>
                         <td>
           <asp:LinkButton ID="linkbutton1" CommandArgument='<%#Eval("AreaCode") %>' CommandName="Showxiaji" runat="server">下级地区</asp:LinkButton>
                        </td>
                         <td>
           <asp:LinkButton ID="linkbutton2" CommandArgument='<%#Eval("AreaCode") %>' OnClientClick='return confirm("确定删除吗?")' CommandName="delete" runat="server">删除</asp:LinkButton>
                        </td>
    
                    </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table>
    
                </FooterTemplate>
            </asp:Repeater>
        
       
            <asp:Button ID="Button5" runat="server" Text="Button" />
            <asp:Literal ID="Literal1" runat="server"></asp:Literal>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
            <asp:Literal ID="Literal2" runat="server"></asp:Literal>
        
       
     
      
            <asp:Panel ID="Panel1" runat="server" Visible="False">
           
                <p>
                    <asp:Label ID="Label1" runat="server" Text="请输入地区:"></asp:Label>
                    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                </p>
                <p>
                    <asp:Label ID="Label2" runat="server" Text="请输入邮编:"></asp:Label>
                    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                </p>
                <asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Text="添加" />
                <asp:Button ID="Button4" runat="server" Text="取消" OnClick="Button4_Click" />
             
            </asp:Panel>
               </form>
        
    
    </body>
    </html>
    

      编写cs

      public DataClassesDataContext context;
        public List<ChinaStates> chinastates;
        protected void Page_Load(object sender, EventArgs e)
        {
            context = new DataClassesDataContext();
            if (!IsPostBack)
            {
                binddata("0001");
    
            }
            
    
    
        }
        //根据parentcode查
        private void binddata(string parentcode)
        {
            var querydata = from q in context.ChinaStates
                            where q.ParentAreaCode == parentcode
                            select q;
            Repeater1.DataSource = querydata;
            Repeater1.DataBind();
            Literal2.Text = parentcode;//显示ParentAreaCode
           
        }
        protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            //删除
            if(e.CommandName=="delete")
            {
                string code = e.CommandArgument.ToString();//获取这一及编号
                ChinaStates cstates = context.ChinaStates.Single(r=>r.AreaCode==code);//获取对应地区编号的数据
                context.ChinaStates.DeleteOnSubmit(cstates);//删除
                context.SubmitChanges();
                binddata(cstates.ParentAreaCode);//显示删除后的数据
                
            }
            //显示下级
            if(e.CommandName=="Showxiaji")
            {
                string code = e.CommandArgument.ToString();//获取这一级的唯一AreaCode
                ChinaStates cstates = context.ChinaStates.Single(r => r.AreaCode == code);
                Literal1.Text = cstates.ParentAreaCode;//存储这级的ParentAreaCode
                binddata(code);//显示,下一级ParentCode是这级的AreaCode
    
            }
        }
        //添加地区
        protected void Button3_Click(object sender, EventArgs e)
        {
    
            ChinaStates cdata = new ChinaStates()
            {
               AreaCode=DateTime.Now.Millisecond.ToString(),
               AreaName=TextBox1.Text,
               ParentAreaCode=Literal2.Text
    
    
            };
            try
            {
                context.ChinaStates.InsertOnSubmit(cdata);
                context.SubmitChanges();
                binddata(Literal2.Text);
                Response.Write("<script>alter('添加成功!')</script>");
            }
            catch(Exception ex)
            {
                Response.Write("<script>alter('添加失败!')</script>");
                
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Panel1.Visible = true;
        }
        //返回上级
        protected void Button2_Click(object sender, EventArgs e)
        {
            if (Literal1.Text != "0000" && Literal1.Text.Length > 0)
            {
                binddata(Literal1.Text);//显示上一级,ParentAreaCode
                ChinaStates cdata = context.ChinaStates.Single(r=>r.AreaCode==Literal1.Text);
                Literal1.Text = cdata.ParentAreaCode;
            }
        }
      
    }
    

      

  • 相关阅读:
    【链接】idea没有svn
    移动端适配解决方案
    项目中多个文件引入同一份公共样式less文件导致编译打包后有多份样式
    2020最新编辑器集成eslint、prettier、stylelint,git提交预检查代码配置
    eslint+prettier学习
    artTempate模版继承父模版之后再引入子模版不生效?
    iOS底层原理开篇
    iOS应用千万级架构:安全与加密
    使用RabbitMQ实现延迟任务
    JAVA三元运算符空指针引用的坑
  • 原文地址:https://www.cnblogs.com/liuyudong0825/p/4951026.html
Copyright © 2011-2022 走看看