ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

EF下拉框筛选信息

2021-05-30 14:01:04  阅读:158  来源: 互联网

标签:类库 需要 return EF 我们 点击 筛选 下拉框 Select


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();
        }

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

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

标签:类库,需要,return,EF,我们,点击,筛选,下拉框,Select
来源: https://blog.csdn.net/K_ing3/article/details/117396417

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有