网页设计基础知识总结如何优化网站推广

news/2025/9/25 20:18:13/文章来源:
网页设计基础知识总结,如何优化网站推广,渝东建设工程造价信息网,seo优化方式原文地址#xff1a;http://www.cnblogs.com/yinzixin/archive/2012/11/30/entity-framework-dynamic-query.html Dynamic Query是一个支持动态Entity Framework查询的库。它的设计初衷是为了减少在管理系统中大量出现的对一个数据集进行查找、排序、分页的这类场景的开发工作…原文地址http://www.cnblogs.com/yinzixin/archive/2012/11/30/entity-framework-dynamic-query.html Dynamic Query是一个支持动态Entity Framework查询的库。它的设计初衷是为了减少在管理系统中大量出现的对一个数据集进行查找、排序、分页的这类场景的开发工作量其设计思想是”markup is code ”。通过在View上编写具有语义信息的标签来实现这类常见的功能需求而不再需要额外的代码。它不是一个完整的ORM是基于Entity Framework的因此开发者仍然可以利用Entity Framework提供的大量特性和现有的EF项目保持兼容。 Dynamic Query分为两个部分其中之一是一个查询接口这是一个IQueryableT的扩展方法: public static IQueryableT QueryT(this IQueryableT data, QueryDescriptor descriptor)   其中QueryDescriptor是一个简单的类包含了一个查询的必要信息例如筛选条件排序信息分页信息等。 例如: QueryDescriptor descriptor new QueryDescriptor{OrderBy new OrderByClause { Key Price, Order OrderSequence.ASC },PageSize 3,PageIndex 1,Conditionsnew QueryCondition[] {new QueryCondition { Key Name,Value Rice, Operator QueryOperator.CONTAINS }}};int pageCount;var resctx.Products.Query(descriptor, out pageCount); 这相当于执行了查询: select * from Product where [Name] like N%Rice% order by Price asc 并且对结果进行分页每页3条数据返回第一页。注意这里返回的结果是IQueryableT这实际上是一个Entity Framework的查询在没有序列化之前并没有对数据库进行操作分页也是发生在服务器端的这对于大数据来说能够极大的减少网络传输和内存使用量。 当然手动构造这样一个QueryDescriptor也是一件非常无趣的事情为此Dynamic Query还为asp.net MVC 实现了一系列的helper方法和一个model binder来自动生成QueryDescriptor。我们最终的目标是获得页面提交的数据自动生成QueryDescriptor对象。为此需要注册一下一个自定义的binder只需要在Global.asax的Application_Start中添加一行代码: ModelBinders.Binders.Add(typeof(QueryDescriptor), new QueryDescriptorBinder());   假如我们有如下的EF模型 我们来实现一个列表对Product的Name进行筛选。这时候可以使用QueryTextbox扩展方法来生成查询字段View的代码如下 div classcontainer form class.form-searchHtml.QueryTextbox(Name, Product Name, QueryOperator.CONTAINS) input typesubmit valueSearch classbtn//form /div div classrowdiv classspan12 offset2 table classtable table-stripedtheadtrtdID/tdtdCategory/tdtdName/tdtdPrice/tdtdDescription/td/tr/theadtbodyforeach (var p in Model){trtdp.Id/tdtdp.Category.Name/tdtdp.Name/tdtdp.Price/tdtdp.Description/td/tr}/tbody/table/div /div   上半部分是一个form里面有一个QueryTextBox下半部分就是一个列表非常简单。看对应的Action public ActionResult Index(QueryDescriptor descriptor){ShopContainer ctx new ShopContainer();var result ctx.Products.Query(descriptor);return View(Product,result);} 由于Model Binder的存在Action会从页面获得QueryDescriptor的信息。这样一个筛选页面就做好了。如果客户说我还要增加对种类名称和价格范围的筛选那需要改什么地方只需要在View的form中添加几个QueryTextbox就可以了。 form class.form-searchHtml.QueryTextbox(Name, Product Name, QueryOperator.CONTAINS)Html.QueryTextbox(Category.Name, Product Category, QueryOperator.CONTAINS)Html.QueryTextbox(Price.1, Price Between, QueryOperator.GREATEROREQUAL,decimal)Html.QueryTextbox(Price.2, , QueryOperator.LESSOREQUAL,decimal)input typesubmit valueSearch classbtn//form 注意Price出现了两次需要加上数字后缀区分一下就可以如果不是string类型加上类型的说明这样就OK。Action方法是不需要有任何改动的。 如果客户说这个要分页怎么办 分页需要稍微多些两行代码但是也只需要2分钟就足够先看Action方法: public ActionResult Product(QueryDescriptor descriptor){descriptor.PageSize 5;descriptor.OrderBy new OrderByClause { Key Id, Order OrderSequence.ASC };ShopContainer ctx new ShopContainer();int pageCount;var result ctx.Products.Query(descriptor, out pageCount);Pager pager new Pager(pageCount, descriptor);ViewBag.Pager pager;return View(Index,result);} 首先指定一页显示的数量因为要分页必须要有排序信息这里是根据Id升序排列。接下来还是调用Query方法获得数据注意这里是Query的一个重载的方法能够返回总共有多少页这一般是分页控件需要的信息。接下来实例化一个Pager对象这个Pager是一个分页器包含在Dynamic Query中如果你想用其他第三方的分页器也是可以的。Pager需要的额外信息就是总页数把这个Pager放到ViewBag上面然后Action的工作就完成了。View上面也不想要任何改变如果你想加上分页链接的话只需要一行代码: Html.QueryPager((Pager)ViewBag.Pager); 看看效果   项目主页和源代码在http://dynamicquery.codeplex.com/  上面有一个样例程序更多文档在完善中。 这个项目才开始没多久还有很多细节需要完善主要是样式、支持更多的控件比如checkboxdropdownlist等。以后慢慢补充。转载于:https://www.cnblogs.com/fcsh820/archive/2012/12/06/2804595.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/917468.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对软件工程的理解:从 “写代码” 到 “系统工程” 的认知跃迁

对软件工程的理解:从 “写代码” 到 “系统工程” 的认知跃迁在接触《软件工程》课程前,我对软件开发的认知停留在“用代码实现功能”的单一维度,认为只要熟练掌握 Python(我最常用的开发语言),能写出可运行的程…

深入解析:Python9-逻辑回归-决策树

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

完整教程:(13)GPS/无GPS转换

完整教程:(13)GPS/无GPS转换pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&quo…

石家庄网站开发设计asp源码打开网站

生日是一个人在一年中比较特殊的日子之一,人们通常希望能够在这一天得到亲朋好友的祝福和庆祝。然而,随着人们生活节奏的加快,很多人表示自己很容易忘记他人的生日,导致不能够及时送出祝福和礼物。如果经常忘记亲朋好友的生日&…

网站建设主要包括用jquery做的书籍网站

机器学习编译MLC 1. 引言2. 机器学习编译--概述2.1 什么是机器学习编译 1. 引言 陈天奇目前任教于CMU,研究方向为机器学习系统。他是TVM、MXNET、XGBoost的主要作者。2022年夏天,陈天奇在B站开设了《机器学习编译》的课程。   《机器学习编译》课程共分…

在百度做推广需要网站吗质量最好的购物平台

C 语言 break和continue语句 C 语言 break break语句在遇到循环时将立即结束循环。其语法为: break; break语句几乎总是与if…else循环内的语句一起使用。 示例1:break语句 //程序计算最多10个数字的总和 //如果输入负数,则循环终止 includ…

Transformer自回归关键技术:掩码注意力原理与PyTorch完整实现

掩码注意力(Causal Attention)是生成式模型的核心技术,它传统自注意力机制有根本的不同,掩码注意力限制模型只能关注当前位置之前的tokens,确保了自回归生成的因果性。 自注意力的掩码 自注意力机制在Transformer…

深入解析:SQL 字符串函数高频考点:LIKE 和 SUBSTRING 的区别

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

第四篇

今天是9月25号,今天又不发工资,烦死了,不写了。

六安市裕安区建设局网站北京建设信源资讯网站官网

一、粒子 Unity中的粒子组件叫做Particle System。 粒子系统顾名思义,与“微粒”有关。粒子系统会生成和发射很多粒子,通过控制粒子的生成数量、大小、角度、速度、贴图和颜色等众多属性,可以实现或真实或炫酷的各种效果。其中,…

PyTorch图神经网络(六)

PyTorch图神经网络(六) ​ 第十章讲的是使用图神经网络来预测链接,这里直接跳过传统方法。 1.VGAE ​ VGAE是通过编码器-解码器的形式来对链接进行预测。通过VGAE对节点的特征进行编码,然后通过GCN层来聚合相邻节点…

Etcd详解:Kubernetes的大脑与记忆库 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

数智化术中导航:Holoscan + IGX的“边缘实时低时延”管线工艺分析(上)

数智化术中导航:Holoscan + IGX的“边缘实时低时延”管线工艺分析(上)2025-09-25 19:56 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: a…

Qwen多模态系列模型笔记—Qwen-VL

Qwen-VL论文笔记 摘要 在这项工作中,我们介绍Qwen-VL系列,一组旨在感知和理解文本与图像的大规模视觉语言模型。从Qwen-LM这个基础大语言模型出发,我们通过如下四条精心设计,赋予了其视觉能力: (1)视觉编码器;…

慕课网站开发与实现网站提交百度了经常修改网站

状态提升(Lifting-state-up) 把子组件的状态,提升到上级组件中,从而实现在多个组件之间共享和同步数据的效果 以 flutter counter demo,那个按按钮1 的来说,现在的 count 是几,不是存在页面显…

关键词整站排名优化在线下载免费软件的网站

1、检测注入点是否可用python sqlmap.py -u "url"2、从目标url爆破所有数据库名python sqlmap.py -u "url" --dbs3、从目标url爆破当前数据库名python sqlmap.py -u "url" --current-dbs4、列出数据库所有用户python sqlmap.py -u "url&quo…

go 语法里变量前面增加、*区别

在 Go 语言中,& 和 * 是与指针相关的两个重要操作符,它们的作用如下: 简单理解:a为变量,&a获取指针地址 a为指针,*a获取值& 操作符作用:获取变量的内存地址(取地址操作符) 用法:&variable 返…

MFC List 控件详解:高效材料展示与管理

MFC List 控件详解:高效材料展示与管理pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…

历程回顾-(2024-2025)

其实我刚写了一版本了,但是博客园他对于笔记不会随时留档,全没了。 605天的入职时间,经历精彩纷呈,值得总结与交代。 业务周期分成三个阶段,入职五个月+中间一年+结尾三个月。分别是总览->细化->试验,周期…

CF Round 1053(2150 2151) 总结

CF Round 1053(2150 & 2151) 总结 Div2 A 若存在 \(a_i\ge a_i+1\) 那么只出现一次,否则出现 \(n-a_m+1\) 次。 A 我们不能每次从头开始走,考虑怎么利用上一轮的信息。 假设我们要求第 \(k\) 轮的终点,由于第 \…