• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    让aspx页面自主控制调用记录的数量,类型,随时更改,不用重新编译的实现方法
    然而,杀鸡焉用牛刀,对于小型站点,我们完全可以从.net强大的功能中,翻出一些来方便我们使用.
    我们知道一个页面经常会调用很多数据,有列表,有单条的,特别是列表,我们经常为不同的列表在.cs文件写不同的方法,一一采用"列表.DataSource=数据源;列表.DataBind();来完成绑定,这令到我们的 cs页面雍肿不堪!!!我经常有要推倒重来的冲动,但周而复始,我又写出一堆拉圾-_-!.好吧,这次我决定只写一个方法,不到15行的方法,就满足整个页面文章的调用.

    我们需要用到的常识有"后期绑定","先运行CS再aspx",相信大家都已经具备.我们言归正传:
    第一步:首先在cs中定义一个受保护的方法:
    复制代码 代码如下:

    /// summary>
    /// 获取新闻数据列表
    /// /summary>
    /// param name="num">请求数量/param>
    /// param name="cateId">类别ID/param>
    /// param name="isTop">是否置顶/param>
    /// param name="isCommend">是否推荐/param>
    /// returns>一个新闻数据集,News是新闻,当然,ListXXXX>名称取决于你的数据源/returns>
    protected ListNews> GetNewsData(int num,int cateId,int isTop,int isCommend){
    if (num 0) num = 0;
    ListNews> result = new ListNews>();
    ExpressionFuncNews, bool>> expr = PredicateExtensionses.TrueNews>();
    if (isPic) {
    expr = expr.And(c => c.IsPic == 1);
    }
    if (cateId > 0) {
    expr = expr.And(c => c.cateId == cateId);
    }
    if (isTop > -1) {
    expr = expr.And(c => c.IsTop == isTop);
    }
    if (isCommend > -1) {
    expr = expr.And(c => c.IsCommend == isCommend);
    }
    return nm.AllNews.Where(expr).OrderByDescending(c=>c.ID).Take(num).ToList();
    }

    第二步:在Page_Load方法中,调用DataBind();
    复制代码 代码如下:

    protected void Page_Load(object sender, EventArgs e)
    {
    DataBind();
    }

    以上是我方法的全部,这里要说一下的是调用业务逻辑中一个创建表达式树的公共类,这个类在这里(https://www.jb51.net/article/28043.htm ),及通用业务逻辑类;
    第三步,接下来是我们的aspx调用了.这里我用最简单的Repeater来说明!
    复制代码 代码如下:

    asp:Repeater ID="Repeater6" runat="server" DataSource='%#GetNewsData(10,3548,-1,-1)%>'>
    ItemTemplate>
    %#Eval("Subject")%>
    /ItemTemplate>
    /asp:Repeater>

    好了,所有工作结束.以后要调用其它的类别,或者数量要改变时,只需要在页面上改动就行了,不需要改动.cs和编译!
    是不是挺方便?
    关于DataBind()的说明,为什么要在Page_load中写DataBind(),这是提前给数据源以数据!否则,因为后期绑定的关系,会令到数据控件找不到数据源而报错!
    上一篇:linq to sql 中,如何解决多条件查询问题,答案,用表达式树! (下)
    下一篇:巧用ASP.NET预编译Web应用程序规避调用延迟的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    让aspx页面自主控制调用记录的数量,类型,随时更改,不用重新编译的实现方法 让,aspx,页面,自主,控制,