1.jQuery的replaceWith方法
可用请求的数据(数据可以是一个页面)来无刷新替代当前页面的某个局部地区(也可以替代当前整个页面,只要你指定的范围够大)
<div class="tn-box tn-widget tn-widget-content tn-corner-all tnc-search-history"> <div class="tn-box-header tn-widget-header tn-corner-top tn-border-bottom"> <div class="tn-option"><a id="clear-histories" class="tnc-deletle" href="#">清空</a></div> <h3 class="tn-helper-reset">搜索历史</h3> </div> <div class="tn-box-content tn-widget-content tn-corner-bottom"> @if (Model != null) { <ul id="search-histories" class="tn-list"> @foreach (var item in Model) { <li data-history-value='@item'><a title='@item' href="javascript:void()">@HtmlUtility.TrimHtml(item, 14)</a></li> } </ul> } </div> </div>
<script type="text/javascript">
$(function () { var searchForm = $('#searchForm'); var keyword = $('#keyword', searchForm); //注册点击搜索历史事件 $('#search-histories').delegate("a", "click", function (e) { e.preventDefault(); keyword.val($(this).attr("title")); searchForm.submit(); }); //点清空 $("#clear-histories").click(function (e) { e.preventDefault(); var clearUrl='@Html.Raw(SiteUrls.Instance().SearchHistories(Spacebuilder.Blog.BlogSearcher.CODE, true))'; $.get(clearUrl,function (data) { $('.tnc-search-history').replaceWith(data); }) }) }) </script>
2.做页面离开提示时应知
链接里的href可以是#和javascript:void(0),这时点击链接都不会有页面的跳转,但是用#会跳到页面的开始,我们通常用jquery的e.preventDefault()来防止这种默认行为,其实可以有一种更简单的做法:
可以使用 <a href="###"></a>防止锚点
另外,实际使用的时候应该尽量避免使用javascript:void(0)这样的写法,因为ie对这种行为的解释又是与众不同,例如在判断是否要离开页面时需要判断window.onbeforeunload事件,ie会认为点击了javascript:void(0)也是要离开页面,firefox、chrome就不会
3.$.post(url,$("form").serialize()) 与 $("form").ajaxSubmit()
<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>FormSerialize</title> <script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> </head> <body> <form action="#" method="post" id="formId"> <input type="hidden" name="LYR" value="1" /> <input type="hidden" name="LYNR" value="2" /> <input type="hidden" name="TOLYR" value="3" /> <input type="checkbox" name="CB" value="4" /> <input type="checkbox" name="CB" value="5" /> <input type="checkbox" name="CB" value="6" /> <input type="hidden" name="LYSJ" value="8" /> <input type="button" name="TJ" id="TJ" value="9" /> </form> </body> </html> <script> $(function () { $("#TJ").click(function () { alert($("#formId").serialize()); alert($("#formId").serializeArray()[0].value); $.post("/LeaveWord/FormSerialize.asp", $("#formId").serialize(), function (data) { }) }) }) </script>
serialize() 会将表单的元素序列化为 LYR=1&LYNR=2&TOLYR=3&CB=4&CB=5&CB=6&LYSJ=8
serializeArray() 会将表单的元素序列化为 [{name:LYR,value:1},{name:LYNR,value:2},{name:TOLYR,value:3},{name:CB,value:4}{name:CB,value:5},{name:CB,value:6},{name:LYSJ,value:8} ]
这两种方式都可以被ASP.NET MVC的模型绑定很好的绑定数据
ajaxSubmit是一个jQuery插件 使用也差不多
<script> $(function () { $("#TJ").click(function () { $("#formId").ajaxSubmit({ success: function () { }, url:"/LeaveWord/AjaxSubmit.asp" }) }) }) </script>
ajaxSubmit这种方式,可以不指定url,默认是提交到表单指定的url
4.构造函数:this() :base()
在类的构造函数后面加冒号,再跟this() 或 base() 的意思就是 先执行冒号后面的构造函数,再执行当前的构造函数。
/// <summary> /// 构造函数 /// </summary> public AskService() : this(new AskAnswerRepository(), new AskQuestionRepository()) { } /// <summary> /// 构造函数 /// </summary> /// <param name="askAnswerRepository">问答仓储实现</param> /// <param name="askQuestionRepository">问答仓储实现</param> public AskService(IAskAnswerRepository askAnswerRepository, IAskQuestionRepository askQuestionRepository) { this.askAnswerRepository = askAnswerRepository; this.askQuestionRepository = askQuestionRepository; }
上面那样写,在实例化AskService时就不用传AskAnswerRepository和AskQuestionRepository的实例了,直接
AskService askService = new AskService() 就可以直接实例化它们了
public class SupportOpposeEventArgs : CommonEventArgs { public SupportOpposeEventArgs(long objectId, long userId,string type) : base(type) }上面是先执行基类的构造函数并且给其传了一个参数,然后执行本类的构造函数
5.C#字典的使用
Dictionary.Add(key,value)
Dictionary[key]=value
一般来说用第二种,第一种有可能会出现key重复的情况,而第二种的情况是没有这个key就添加,有这个key的话就更新。
6.VS调试小技巧
VS在调试时除了可以给表达式添加监视外,还有一个调用堆栈(它可以从当前调试的方法往外找直到找到这个方法的参数的最初赋值的地方,当然有些从其他DLL传过来的值会显示外部代码),还有一个即时窗口(你可以在这里使用当前所调试方法的任何一个参数,当然你也可以在这里定义变量,它们都可以在这里编译并执行,然后显示出结果)
7.jQuery插件控制滚动条的滚动
8.通过浏览器书签栏执行js
下面第一个就是花瓣网通过浏览器书签栏执行js调用其外站图片采集的js
这段a标签里的js会存储在浏览器里,所以它可以操作任何一个页面,并且你如果改了这段js,必须重新将其拖入标签栏才会奏效
并且在执行的js中传入了当前页面的window和document对象
<a href="javascript:void(function(d,a,c,b){a[c]&&typeof a[c].showValidImages=='function'?a[c].showValidImages():(b=a.createElement('script'),b.id='huaban_script',b.setAttribute('charset','utf-8'),b.src='http://huaban.com/js/pinmarklet.js?'+Math.floor(+new Date/1E7),a.body.appendChild(b))}(window,document,'__huaban'));" onclick="javascript:alert('把这个按钮拖到你的浏览器书签栏'); return false;" class="pin-button">采集到花瓣<span class="drag-arrow"></span></a> <a href="javascript:void(alert('123'));" onclick="javascript:alert('把这个按钮拖到你的浏览器书签栏'); return false;" class="pin-button">采集<span class="drag-arrow"></span></a>
看其源码会发现
var global="__huaban";
document[global].showValidImages = showImagesAndInitPinBtn;
而showImagesAndInitPinBtn是一个函数,这里将这个函数存到document的showValidImages里面了,所以这里在调用的时候传了一个'__huaban',然后通过a[c].showValidImages()直接调用了这个函数,开始执行一系列js。
保存在document里貌似是因为作用域更大一些
更多信息如下:
加载后先运行
showValidImages()即showImagesAndInitPinBtn()
获取当前网站页面的图片
getCurrentPageImagesWithEncapsulation()
isValidImage()验证图片 encapsulateImage()封装图片 getVideoOnCustomerPage()
showImages(e)显示要采集的图片 构造一个显示这些图片的div等
参数e是getCurrentPageImagesWithEncapsulation()的返回值
thunderpinImage()快速采集 pinImage()采集
全局变量可搜__huaban,都在它附近
9.input file标签在弹出框中过滤文件类型
<input id="photoFile" class="photoFile" name="photoFile" type="file" accept="image/gif,image/jpeg,image/bmp,image/jpg,image/png"/>
10.VS2010多线程调试
VS2010下多线程的调试(来自MSDN) http://blog.163.com/df19861017@126/blog/static/8123353620115305110982/
VS2010下的多线程窗口
12. SQL Server2005使用CTE实现递归
相关推荐
综上所述,"微信小程序十二生肖运势微信小程序源码"涉及到的技术和知识点包括微信小程序的基础架构、前端开发技术、数据交互、用户交互设计以及服务器通信等。通过分析和学习这个源码,开发者不仅可以掌握如何构建...
微信小程序十二神鹿点餐系统是一款专为餐饮行业设计的外卖小程序,提供了完整的源码以及相关的导入教程,方便开发者或商家进行二次开发和部署。这个系统涵盖了多项IT领域的知识点,以下将详细介绍其中的关键技术和...
在设计微信小程序时,开发者通常会遵循以下几个关键知识点: 1. **用户界面(UI)设计**:UI设计是小程序成功的关键因素之一,十二神鹿点餐小程序应具备清晰、直观的界面布局,使用户能快速找到菜品、下单和支付。...
【十二生肖】是中国传统文化的重要组成...总之,"小学一年级十二生肖的知识PPT学习教案"是一个教育孩子们认识和欣赏中国文化的重要资源,通过寓教于乐的方式,使得古老的文化传统得以传承,也丰富了孩子们的学习体验。
"十二神鹿点餐"是一款专为餐饮业设计的微信小程序,它提供了全面的点餐功能,包括浏览菜单、选择菜品、下单支付、追踪订单等。这款外卖小程序的源码提供了一个实际的项目案例,对于学习微信小程序开发和了解餐饮行业...
十二神鹿点餐(外卖小程序)的实现通常会涉及以下几个关键知识点: 1. **用户界面设计**:使用WXML和WXSS构建用户友好的界面,包括登录/注册、商品展示、购物车、订单确认、支付页面等。 2. **数据管理**:使用...
计算机基础知识精典十二 根据提供的文件信息,我们可以总结出以下计算机基础知识点: 一、信息时代和信息技术 * 人类进入信息时代始于20世纪末 * 信息技术(IT)是指信息的获取、存储、处理、传输和应用的技术 * ...
【十二生肖】是中国传统文化的重要组成部分,它以十二种动物代表一年中的十二个月份或十二个时辰,形成了一套独特的纪年、纪时体系。通过十二生肖谜语,我们可以引导孩子们了解并熟悉这些动物特征,同时培养他们的...
故事讲述了玉皇大帝选定十二种动物作为天路守卫的过程,其中包含了一段关于老鼠和猫的小插曲,让孩子们理解为何十二生肖的排序是这样的。这个故事不仅传授知识,也培养孩子们的想象力和倾听能力。 在故事之后,教案...
在这个毕业设计项目中,“十二神鹿点餐”是一个针对外卖行业的微信小程序,旨在为用户提供方便快捷的在线点餐服务。下面我们将详细探讨这个项目所涉及的关键知识点。 1. **微信小程序开发环境**:首先,开发者需要...
这些知识点按照小学十二册教材的顺序组织,旨在系统性地引导学生了解和掌握美术的基础知识。 第一册教材强调了四个学习领域:造型·表现、设计·应用、欣赏·评述和综合·探索。例如,《花狮子》介绍了农民画,让...
十二神鹿点餐是一款专为餐饮行业设计的小程序应用,其源码的...通过分析和修改源码,我们可以学习到小程序的架构设计、用户体验优化、数据处理等方面的实用知识,对于提升个人或团队的软件开发能力有着不可忽视的作用。
微信小程序是一种轻量级的...以上就是“十二神鹿点餐(外卖小程序)”可能涉及到的主要技术知识点,涵盖从页面结构设计、数据交互到功能实现的全过程。开发这样一个小程序需要对微信小程序平台有深入理解和实践经验。
四年级数学下册小数的意义和性质练习十二课时新人教版 本资源是四年级数学下册第四单元小数的意义和性质的练习十二课时,新人教版。该资源涵盖了小数的换算关系、单位换算、进率换算等重要知识点。 一、换算关系 ...
《十二生肖》试讲稿是针对幼儿园大班孩子设计的社会活动,旨在教授孩子们关于中国传统文化中的十二生肖知识。试讲内容包含谜语引入、生肖钟的观察与排序、属相的理解、故事讲述以及儿歌学习等多个环节,寓教于乐,...
下面将详细探讨这款外卖小程序的相关知识点。 一、小程序开发框架 小程序通常使用微信提供的微信开发者工具进行开发,该工具集成了开发环境、调试器、性能分析等功能。开发者可以使用微信的小程序开发框架WXML...
十二神鹿点餐小程序是一款基于微信小程序开发的在线订餐平台,其源码的公开为开发者提供了一次深入了解小程序开发的机会。在这个项目中,我们可以学习到以下关键知识点: 1. **微信小程序开发环境搭建**:首先,你...
它主要由九宫格构成,分别对应着天干的九星以及地支的十二个时辰。九宫格具体指的是“九宫”和“八门”,其中九宫包括了干宫、兑宫、离宫、震宫、巽宫、坎宫、艮宫、坤宫。而八门则指的是开门、休门、生门、伤门、...
鸟类及野生动物保护科普知识系列十二:鹰资料 鹰是隼形类鸟的一种,属白昼活动的鸟类,广义上包括苍鹰和雀鹰等种类。鹰的身体特征是羽毛上有斑点,有白,有黑;身体很重,爪子很硬,极为锋利。鹰的毛常常脱落,生...
下面我们将深入探讨外卖小程序开发中的关键知识点: 1. **微信小程序开发**:微信小程序是腾讯公司推出的一种轻应用开发平台,开发者可以利用微信提供的开发工具和API接口,构建能在微信内运行的应用。开发者需要...