星星博客 »  > 

EF下拉框筛选信息

EF下拉框查找
现在我们开始完成下拉框查询
首先我们还是需要开始创建一下项目
创建一个ASP.NET 应用程序(.NET FrameWork)
然后我们需要创建一下空的项目
点击第一个
如图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当这些你们创建完成后
我们要进行创建类库
首先我们要创建三个类库

  1. 视图层类库 Modles
  2. 数据访问层类库 DAL
  3. 业务逻辑层类库 BLL
    类库的创建需要我们右键点击解决方案
    找到添加新建项找到类库即可
    如图:
    在这里插入图片描述
    在这里插入图片描述
    当你这些都做完了
    然后我们需要把类库相互引用
    1.数据访问层 引用 视图层
    2.业务逻辑层 引用 视图层 和 数据访问层
    3.你的创建空的窗体 引用 业务逻辑层 和 视图层
    当你全都引用完之后我们需要开始进行下一步了
    如图:
    在这里插入图片描述
    当你全部引用完成之后
    我们需要在视图层里面添加一个新建项
    点击数据找到 ADO.ENT实体数据模型
    点击添加
    在这里插入图片描述
    然后回跳到另一个窗口 点击第一个
    来自数据库EF设计器
    点击下部
    就会出现一个实体数据模型向导
    然后我们需要点击新建连接
    输入你的SQL server里面的服务器名称
    我们要选择身份验证
    输入你的用户名和密码
    然后需要选择你要连接的数据库名称
    点击确定
    然后就会变成这样 点击是
    进行下一步 下一步
    然后你就会看到出现一个窗口
    你要点击那个表 打勾
    如图:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    当你看到这个我们就已经完成我们所需的第一步
    在这里插入图片描述
    现在我们要开始第二步了
    现在我们需要找到视图层的App.Config
    点进去找到你的数据库
    如图、代码:
    在这里插入图片描述
 <connectionStrings>
    <add name="TwoDownEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=DESKTOP-DFAA3LD;initial catalog=TwoDown;user id=老许;password=bugaosuni;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

然后我们需要把他放在你第一个创建的ASP.NET 应用程序的Web.config里面
现在我们点击Web.config进入
如图:
在这里插入图片描述
当你完成这一步
我们就完成了第二部
下面进行我们的第三步
在我们的视图层找到
如图:
在这里插入图片描述
我们需要右键点击“在对象浏览器中查看” 然后我们就能看到他所在的路径
我们需要复制该路径等下我们需要用到
在这里插入图片描述
当你复制完路径之后我们需要去数据访问层 和 ASP.NET窗体引用这个路径里面的东西
现在我们右键点击数据访问层的引用找到浏览、点击右下角的浏览就会出现下图:
在这里插入图片描述
我们需要把你刚刚复制的路径粘贴到文件名中查询他
然后如下图:
点击添加 确定
在这里插入图片描述
在这里插入图片描述
ASP.NET窗体 也是与 数据访问层相同的操作
当你完成后我们就已经完成了第三步
现在开始进行第四步
因为我们只是需要查询下拉框信息
所以我们进行在数据访问层与 业务逻辑层敲代码了
因为我们是多表
所以我们需要多表连接
我们先进入DAL 数据访问层 每个类库都会有一个Class类 不需要在创建我们只需要正确的命名规范 (自取名+DAO)
在这里插入图片描述
现在我么进入数据访问层的类库中编写代码
查询的代码是:

 public class TwoDAO
    {
        TwoDownEntities twoDown = new TwoDownEntities();
      /// <summary>
        /// 查询所有的表信息
        /// </summary>
        /// <returns></returns>
        public List<Article> Select()
        {
            //第一种方式
            /*var reslut = (from u in twoDown.Article
                          select u).ToList();
            return reslut;*/

            //第二种方式
            return twoDown.Article.Select(p => p).ToList();
        }

现在我们开始编写BLL 业务逻辑层的代码
业务逻辑层跟数据访问层是一样的 都会有一个自带的Class类
现在我们只需要改名 (自带名 + Serivce)
然后点击进去我们开始编写代码
其代码是调用数据访问层里面的代码
如下:

  /// <summary>
        /// 查询所有表信息
        /// </summary>
        /// <returns></returns>
        public List<Article> Select()
        {
            return Articles.Select();
        }

当这些我们都做完了之后我们要开始准备运行了、现在我们需要进入我们第一个创建的ASP.NET 我们一开始创建的是空窗体
所以我们现在需要右键点击添加新建项
如下图:
在这里插入图片描述
找到Web窗体点击添加
如下图:
在这里插入图片描述
当我们这些都弄完后就变成了这样
如下图;
在这里插入图片描述
现在我们需要在Web窗体写入代码;

<form id="form1" runat="server">
        <div>
            <div class="row">
                <label class="cols-5">类别:</label>
                <div class="cols-5">
                    <asp:DropDownList ID="DropDownList1" runat="server" DataTextField="TypeName" DataValueField="Id" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
                </div>
            </div>

            <asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <div class="row">
                        <div class="row"></div>
                        <div class="row">
                            <label class="cols-5">作者:<%# Eval("Anthor") %></label>
                            &nbsp &nbsp<label class="cols-5">发布时间:<%# Eval("Sun") %></label></div>
                        <div class="row">
                            <%# Eval("Content") %>
                        </div>
                    </div>
                </ItemTemplate>
            </asp:Repeater>
        </div>
    </form>

我们要在DAL里面在创建一个类
因为我们有两个表
还需要在BLL里面也在创建一个表
如下:
在这里插入图片描述
现在我们要在新的DAO里面编写代码:

private TwoDownEntities TD = new TwoDownEntities();

        public List<Catelog> Select()
        {
            var reslut = from c in TD.Catelog
                         select c;
            return reslut.ToList();
        }

在新BLL里面调用代码

 private OneDAO Catelog = new OneDAO();
        public List<Catelog> Select()
        {
            return Catelog.Select();
        }

现在我们要开始筛选了
我们需要在Two里面编写我们筛选所需的代码
在DAO里面编写我们需要的代码:

 /// <summary>
        /// 查询作者
        /// </summary>
        /// <param name="art"></param>
        /// <returns></returns>
        public List<Article> Select(string art)
        {
            //第一种方式
            /*var reslut = (from u in twoDown.Article
                          select u).ToList();
            return reslut;*/

            //第二种方式
            return twoDown.Article.Select(p => p).ToList();
        }
        
		 /// <summary>
        /// 根据类别查询
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
		public List<Article> GetArticlesById(int id)
        {
            var reslut = from u in twoDown.Article
                         where u.Typt == id
                         select u;
            return reslut.ToList();
        }

现在我们需要在BLL里面调用:

/// <summary>
        /// 查询根据作者
        /// </summary>
        /// <param name="art"></param>
        /// <returns></returns>
        public List<Article> Select(string art)
        {
            return Articles.Select(art);
        }
        
         /// <summary>
        /// 根据类别查询
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
   public List<Article> GetArticlesById(int id)
        {
            return twoDAO.GetArticlesById(id);
        }

现在我们需要Defalut.aspx.cs里编写最后的代码

 private CatelogSerivce catelog = new CatelogSerivce();
        private ArticleSerivce article = new ArticleSerivce();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.DropDownList1.DataSource = catelog.Select();
                this.DropDownList1.DataBind();
                this.Repeater1.DataSource = article.Select();
                this.Repeater1.DataBind();
            }
        }

        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int id = int.Parse(this.DropDownList1.SelectedValue);
            this.Repeater1.DataSource = article.SelectByCatelogId(id);
            this.Repeater1.DataBind();
        }

然后就会变成这样
在这里插入图片描述

你学会了吗?
加油吧 少年!!!

http://www.jiucaihua.cn/news/show-18650.html

相关文章