zoukankan      html  css  js  c++  java
  • 一个简单的ASP.NET Web Forms应用程序

    ASP.NET 支持三种不同的开发模式: Web Pages(Web 页面)、MVC(Model View Controller 模型-视图-控制器)、Web Forms(Web 窗体)

    我给大家展示的是Web Forms(Web 窗体)

    第一:我们需要了解下,什么是Web Forms。

              Web Forms 是三种创建 ASP.NET 网站和 Web 应用程序的编程模式中的一种。

              Web Forms 是最古老的 ASP.NET 编程模式,是整合了 HTML、服务器控件和服务器代码的事件驱动网页。

              Web Forms 是在服务器上编译和执行的,再由服务器生成 HTML 显示为网页。

              Web Forms 有数以百计的 Web 控件和 Web 组件用来创建带有数据访问的用户驱动网站。

              详情请查阅:http://www.runoob.com/aspnet/aspnet-intro.html

    第二:Web Forms 的搭建

               废话就不多说了,还是来直接操作吧。

               步骤一:确定你的开发环境:vs2015  sql2008。

               步骤二:凡事开发都离不开数据库的搭建,搭建你的数据库,插入一条数据,查看是否有数据,这我就不废话了。

    -- 用户表
    drop table [User] 
    Create Table [User] 
    (
     "Theserialnumber" int  IDENTITY   (1,   1)   NOT   NULL ,  
     "UserID"          varchar(50)  NOT   NULL ,
     "UserName"        varchar(30),
     "UserSet"         char(2),
     "Userphone"       char(11),
     "UserworkID"      varchar(50),
     "UserlevelID"       varchar(20),   
     "UserTypeID"      varchar(50),
     "UserCreationtime" dateTime,
     "UserhobbyID"     varchar(50),
     )
     alter table [User] add constraint pk_name primary key ("Theserialnumber","UserID");
     --用户工作表
     drop table Work
     Create Table Work
     (
       "UserworkID" varchar(50) Primary Key  NOT   NULL,
       "UserworkType" varchar(50),
       "WorkDetailsID"  varchar(50)
     )
     --用户工作详情表
     drop table WorkDetails
     Create Table WorkDetails
     (
      "WorkDetailsID" varchar(50) Primary Key,
      "WorkDetailsSituation" varchar(50)
      
     )
     
     --权限表
     drop table [level]
     Create Table [level]
     (
      "UserlevelID" varchar(50)  Primary Key,
      "UserleverlType" varchar(50)  
     )
     
     --类型表
     drop table UserType
     Create Table UserType
     (
     "UserTypeID" varchar(50)  Primary Key,
     "UserType"   varchar(50)
     )
     
     --业余表
     drop table Userhobby
     Create Table Userhobby
     (
      "UserhobbyID" varchar(50) Primary Key,
      "Userhobby"   varchar(50)
     )
     
    --增加数据
     insert into [User](UserID,UserName,UserSet,Userphone,UserworkID,
                         UserlevelID,UserTypeID,UserCreationtime,UserhobbyID)
                         values('2020020901494949','张三','','13817475159','1',
                         '1','1',2020/2/9,'1')
                   
    insert into Work(UserworkID, UserworkType, WorkDetailsID)values('1','IT','2020020901494949')
    
    
    insert into WorkDetails(WorkDetailsID, WorkDetailsSituation)values('2020020901494949','开发编码')
    
    insert into [level] (UserlevelID, UserleverlType)values('1','管理员')
    insert into [level] (UserlevelID, UserleverlType)values('2','普通用户')
    
    insert into UserType(UserTypeID, UserType)values('1','开发人员')
    
    insert into Userhobby(UserhobbyID, Userhobby)values('1','编码')
    insert into Userhobby(UserhobbyID, Userhobby)values('2','')
    insert into Userhobby(UserhobbyID, Userhobby)values('3','学习')
    insert into Userhobby(UserhobbyID, Userhobby)values('4','工作')
    
    Select Theserialnumber, UserID, UserName, UserSet,
           Userphone, work.UserworkType,Details.WorkDetailsSituation,
           [level].UserleverlType,[type].UserType, UserCreationtime, hobby.Userhobby from [User] 
           inner join Work on Work.UserworkID=[User].UserworkID
           inner join [level] on [level].UserlevelID=[user].UserlevelID
           inner join UserType as [type] on [type].UserTypeID=[USER].UserTypeID
           inner join WorkDetails as Details on Details.WorkDetailsID=Work.WorkDetailsID
           inner join Userhobby as hobby on hobby.UserhobbyID=[user].UserhobbyID

               步骤三:打开你的Visual Studio,新建---项目---ASP.NET Web应用程序---空的WebForms应用程序。

               步骤四:建一个类库Model(模型)和一个数据访问层DAL

               步骤五:在Model建一个ADO.NET实体数据模型来自数据库的Code First

               步骤六:建立引用(索引)  

                              DAL索引Model和程序集框架System.Configuration系统配置文件

                              WebForms应用程序索引DAL和Model

                              配置好Web.config文件

                步骤七:在DAL数据访问层中搭建DBbase类,用来处理模型数据的增删改查

            //读取配置文件,连接数据库语句
            public static string strCon = System.Configuration.ConfigurationManager.ConnectionStrings["Family"].ConnectionString;
    
            //实例化连接对象 con  
            SqlConnection con = new SqlConnection(strCon);
    
            //检测连接是否打开  
            public void Connection()
            {
                if (this.con.State == ConnectionState.Closed)
                {
                    this.con.Open();
                }
            }
            //根据提供的strSQL语句 访问数据库,返回List集合
            public List<User> GetDataSet(string strSQL)
            {
                Connection();
                try
                {
                    SqlDataAdapter da = new SqlDataAdapter(strSQL, con);
                    DataSet ds = new DataSet();
                    da.Fill(ds);
                    List<User> list = new List<User>();
                    if (ds.Tables.Count > 0)
                    {
                        for (int i = 0; i < ds.Tables.Count; i++)
                        {
                            foreach (DataRow dr in ds.Tables[i].Rows)
                            {
                                User obj = new User();
                                if (ds.Tables[i].Columns.Contains("UserID")) obj.UserID = Convert.ToString(dr["UserID"]);
                                if (ds.Tables[i].Columns.Contains("UserName")) obj.UserName = Convert.ToString(dr["UserName"]);
                                if (ds.Tables[i].Columns.Contains("UserSet")) obj.UserSet = Convert.ToString(dr["UserSet"]);
                                if (ds.Tables[i].Columns.Contains("Userphone")) obj.Userphone = Convert.ToString(dr["Userphone"]);
                                if (ds.Tables[i].Columns.Contains("UserworkType")) obj.UserworkType = Convert.ToString(dr["UserworkType"]);
                                if (ds.Tables[i].Columns.Contains("WorkDetailsSituation")) obj.WorkDetailsSituation = Convert.ToString(dr["WorkDetailsSituation"]);
                                if (ds.Tables[i].Columns.Contains("UserleverlType")) obj.UserleverlType = Convert.ToString(dr["UserleverlType"]);
                                if (ds.Tables[i].Columns.Contains("UserType")) obj.UserType = Convert.ToString(dr["UserType"]);
                                if (ds.Tables[i].Columns.Contains("UserCreationtime")) obj.UserCreationtime = Convert.ToDateTime(dr["UserCreationtime"]);
                                if (ds.Tables[i].Columns.Contains("Userhobby")) obj.Userhobby = Convert.ToString(dr["Userhobby"]);
                                list.Add(obj);
                            }
                        }
                    }
                    return list;
                }
                catch (Exception)
                {
    
                    throw;
                }
            }
    namespace DAL
    {
        public class Family
        {
            //实例化一个DBbase对象
            static DBbase db = new DBbase();
    
            //查询用户数据 
            public static List<User> User()
            {
                //通过实体中的属性访问 拼接一个你需要的SQL语句
                StringBuilder strSQL = new StringBuilder();
                strSQL.Append("Select Theserialnumber, UserID, UserName, UserSet, Userphone, work.UserworkType,Details.WorkDetailsSituation,[level].UserleverlType,[type].UserType, UserCreationtime, hobby.Userhobby from [User]  ");
                strSQL.Append("inner join Work on Work.UserworkID=[User].UserworkID  ");
                strSQL.Append("inner join [level] on [level].UserlevelID=[user].UserlevelID  ");
                strSQL.Append("inner join UserType as [type] on [type].UserTypeID=[USER].UserTypeID  ");
                strSQL.Append("inner join WorkDetails as Details on Details.WorkDetailsID=Work.WorkDetailsID  ");
                strSQL.Append("inner join Userhobby as hobby on hobby.UserhobbyID=[user].UserhobbyID");
                return db.GetDataSet(strSQL.ToString());
            }
        }
    }

                步骤八:创建一个Web窗体aspx文件 设为启动项,在窗体前端编写HTML你需要展示的东西

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HomePage.aspx.cs" Inherits="WebForms.HomePage" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <style type="text/css">
            table {
                margin: auto;
                border-style: dotted;
                border-color: #adabab;
                text-align: center;
                 80%;
            }
        </style>
        <title>WebForms</title>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <p>直接绑定</p>
                <ul>
                    <li><%=UserID %></li>
                    <li><%=UserName %></li>
                </ul>
    
                <p>循环遍历对象</p>
                <table>
                    <tr>
                        <td>用户编号</td>
                        <td>用户姓名</td>
                        <td>用户性别</td>
                        <td>用户电话</td>
                        <td>工作类型</td>
                        <td>工作详情</td>
                        <td>用户权限</td>
                        <td>用户类型</td>
                        <td>入户时间</td>
                        <td>用户性趣</td>
                    </tr>
                    <%for (int i = 0; i < User.Count; i++)
                        {
                            foreach (var item in User)
                            {%>
                    <tr>
                        <td><%=item.UserID%></td>
                        <td><%=item.UserName%></td>
                        <td><%=item.UserSet%></td>
                        <td><%=item.Userphone%></td>
                        <td><%=item.UserworkType%></td>
                        <td><%=item.WorkDetailsSituation%></td>
                        <td><%=item.UserleverlType%></td>
                        <td><%=item.UserType%></td>
                        <td><%=item.UserCreationtime%></td>
                        <td><%=item.Userhobby%></td>
                    </tr>
                    <% }
                        } %>
                </table>
    
            </div>
        </form>
    </body>
    </html>
    using Model;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace WebForms
    {
        public partial class HomePage : System.Web.UI.Page
        {
            public List<User> User=new List<Model.User>();
            public string UserID = "";
            public string UserName = "";
            /// <summary>
            /// 首页加载
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void Page_Load(object sender, EventArgs e)
            {
                 User = DAL.Family.User();
                 UserID = User[0].UserID;
                 UserName = User[0].UserName;
            }
           
        }
    }

               步骤九:展示页面效果

    总体来说:万变不离其中。

      总结一下:其实挺简单的。

  • 相关阅读:
    The Joy of Clojure – Laziness(6.3)
    Python Decorator Closure
    Programming clojure – Recursion and Lazyseq
    Programming Clojure Unifying Data with Sequences
    SharePoint Workflow的code运行在哪个进程? w3wp.exe 还是OWSTimer.exe?
    利用PsExec提升命令行的安全级别, 绕过组策略执行命令
    WinDBG脚本入门
    记录一个SPS2010中RSS Web Part报错的问题
    User的Delegation选项卡在Active Directory Users and Computers找不到?
    修改SPS2010的Search Core Results webpart, 令其显示文档被索引了的所有属性
  • 原文地址:https://www.cnblogs.com/jstblog/p/12289742.html
Copyright © 2011-2022 走看看