foreach 无法将类型为“System.String”的对象强制转换为类型“System.Web.HttpPostedFile”

  asp.net不能使用foreach遍历HttpFileCollection对象,要不有些时候会报无法将类型为System.String的对象强制转换为类型System.Web.HttpPostedFile。示例代码如下 public void ProcessRequest(HttpContext context) { if (context.Request.Files.Count 0) { foreach (HttpPostedFile f in context.Request.Files)
http://www.w3dev.cn/article/20130826/foreach-System.String-can-not-convert-to-System.Web.HttpPostedFile.aspx

javascript/ajax浏览器历史记录后退解决方案II

c(i) { info.innerHTML = i; document.title = i; }/script  上一篇javascript/ajax浏览器历史记录后退解决方案I,多了个blank.html,是一个空html架子,没有JS逻辑代码,如下!DOCTYPE HTMLhtmlheadtitleblank.html/title/headbody/body/html  每次ajax操作会往iframe.src的问号后附加一个数字以记录历史。点击后退按钮,iframe的onload事件中获取iframe的url,根据问号后的数字去取记录。所有浏览器均支持该
http://www.w3dev.cn/article/20130816/javascript-ajax-history-back-II.aspx

javascript/ajax浏览器历史记录后退解决方案I

data); i++; } History.push({param:0, func: func}); function func(i) { info.innerHTML = i; document.title = i; }/script  点击按钮后更新页面DOM(模拟ajax提交),会发现浏览器后退按钮可用了。点击后退,可返回到前一个状态。这种方式缺点是只支持IE和Firefox。来源:http://www.cnblogs.com/snandy/archive/2011/09/18/2180102.html
http://www.w3dev.cn/article/20130815/javascript-ajax-history-back-I.aspx

解决标准浏览器下输入控件输入值或者选中状态不能通过innerHTML获取

性后并不能选中option,设置select option的selected属性innerHTML也返回不了option的selected属性,只好添加自定义属性selectedx来实现。源代码如下script type=text/javascript src=http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js/scriptform id=f1 input type=text select multiple id=ss option value=11/option opt
http://www.w3dev.cn/article/20130814/w3c-browser-can-not-get-input-control-state-from-innerHTML.aspx

IE7+浏览器下XMLHttpRequest跨域请求安全配置

Request对象,当使用XMLHttpRequest请求不同源的文件(不同域名的页面),和浏览器是否启用安全-》internet区域的通过域访问数据源有关系。如果启用了此选项,那么所有跨域的页面都可以访问,即使跨域的页面没有设置过Access-Control-Allow-Origin响应头。如果禁用了通过域访问数据源,跨域页面设置过Access-Control-Allow-Origin响应头为*,也无法请求,open时就报错。  注意:如果双击运行或者拖拽进入IE浏览器,XMLHttpRequest对象无法请求本地资源,会出现拒绝访问错误,activexobject创建的对象则没有限制,具
http://www.w3dev.cn/article/20130813/IE-XMLHttpRequest-cros-request-safe-config.aspx

C# websocket聊天室示例

alue = ; } };  如果有多个用户登录到聊天服务器,客户端页面的运行效果如下所示:图 6. 聊天客户端运行页面   至此我们已经完成了一个完整的 WebSocket 客户端实现,用户可以体验一下这个聊天室的简单和快捷,完全不用考虑页面的刷新和繁琐的 Ajax 调用,享受桌面程序的用户体验。WebSocket 的强大和易用可见一斑,您完全可以在这个基础上加入更多的功能,设计更加漂亮的用户界面,切身体验 WebSocket 的震撼力。完整的客户端代码请参阅附件提供的源代码。WebSocket 的局限性  WebSocket 的优点已经列举得很多了,但是
http://www.w3dev.cn/article/20130809/Csharp-websocket-chat-room-demo.aspx

Ext4+ store获取服务器返回的附加数据示例

  ext4+的store对象如何读取服务器返回附加数据,附加数据存储在数据行外面,如下面所示的fields如何获取{success:true,fields:[field1,field2],rows:[{id:1,Name:Name1,Address:Address1},{id:2,Name:Name2,Address:Address2}]}  可以获取store对象的proxy对象,从proxy中获取reader,reader有一个rawData属性,包含的就是服务器返回的原始JSON对象。  示例代码如下,data.asp返回的数据如上面所示!DOCTYPE HTML PUBLIC -/
http://www.w3dev.cn/article/20130807/Ext4-read-additional-response-data-from-server.aspx

Ext4+通过服务器返回值动态创建多条折线图

xt.onReady(function () { //由于返回的日期是动态创建的,所以Model不能直接定义(不知道ext是否支持动态meta定义,从服务器返回的某个字段中获取,暂时没找到这种定义方法) //所以首先通过ajax获取到服务器返回的数据,获取到动态创建的字段后再定义Model Ext.Ajax.request({ url: 'data.asp', success: function (xhr) { var d = Ext.decode(xhr.re
http://www.w3dev.cn/article/20130807/ext4-create-line-chart-dynamic-from-server-response.aspx

IE8+只有在xhtml模式下才支持JSON对象

支持JSON对象,将json对象转为对应json格式的字符串(JSON.stringify)或者将json格式的字符串转为json对象(JSON.parse)。  IE8+浏览器也支持JSON对象,但是是有条件的,需要添加xhtml申明或者使用X-UA-Compatible指定为IE8或者edge模式,X-UA-Compatible要放对位置,要不有可能无效。参考:IE X-UA-Compatible meta失效分析  不过IE8+下JSON.stringify会将中文转为unicode编码(\uxxxx这种编码),所以还是推荐使用json2.js在IE浏览器下实现json对象的序列化与反
http://www.w3dev.cn/article/20130802/IE8-xhtml-mode-support-JSON-object.aspx

easyui combobox使用JSONP加载数据源

,这样请求的地址非同源域名会自动启用jsonp操作,如果是低版本的jquery,如1.4没有这么智能,需要配置loader对象,因为easyui的默认loader对象中发送ajax的datatype为json。loader: function(param, success, error){ var opts = $(this).combobox('options'); if (!opts.url) return false; $.ajax({ type: opts.method, url: opts.url, dat
http://www.w3dev.cn/article/20130802/easyui-combobox-load-data-by-JSONP.aspx

使用javascript隐藏显示asp.net Validator控件

  _currentCallout 属性指向ValidatorCalloutExtender (VCE) 控件的引用。当验证不通过,并且存在验证标注和某个验证控件相管理,_currentCallout存储的为这个VCE的引用对象。如果当前页面存在多个VCE控件,_currentCallout指向和第一个发生错误的验证控件相关联的VCE控件。要隐藏验证标准控件,可以调用此对象的方法hide,代码如下AjaxControlToolkit.ValidatorCalloutBehavior._currentCallout.hide();   任何
http://www.w3dev.cn/article/20130722/Hide-Show-asp.net-validator-control-by-javascript.aspx

asp.net客户端$get和$find方法区别

} } } return null;}  通过上面的代码知道,函数的签名如下$get(id, element)  方法的id参数类型为字符串,为DOM元素的id。参数element可选(DOM元素),如果传递了这个对象参数,判断对象是否支持getElementById,支持则调用此方法在此对象中查找id指定的对象。否则遍历此对象的所有子元素,找到子元素id和id参数一致的子元素返回。$get示例代码如下form id=form1 runat=server div id=contentDiv asp:DropDownList ID=ddCountr
http://www.w3dev.cn/article/20130722/asp.net-difference-between-get-and-find.aspx

AjaxControlToolkit“TabContainer控件”客户端Javascript函数API

方法参数为一个tab对象set_activeTabIndex(integer):设置哪个tab获得焦点。set_activeTabIndex方法参数为一个tab对象下标,为数字(0~总tab数-1)set_id(): 设置tabcontainer控件idset_visible(Boolean): 设置tabcontainer显示或者隐藏,参数值为布尔对象。此方法设置整个tabcontainer显示或者隐藏,如果只设置tabcontainer里面独立tabs的隐藏或者显示,参考下面的ftabcontainer独立tab对象javascript客户端方法  下面为独立tab对象示例 tabCont
http://www.w3dev.cn/article/20130719/AjaxControlToolkit-TabContainer-control-Javascript-functions.aspx

jqGrid提交数据模块

据类型(For user-defined data, please refer to Data Types)。新的选项postData被添加到jqGrid配置中。默认为空对象({}),postData的值通过$.extend 添加到ajax请求中。方法jQuery(#grid_id).getPostData() :获取grid url的所有参数。返回值为键值对对象jQuery(#grid_id).setPostData( newdata) :设置新参数集合重写已经存在的项,键值对,如{myparam:myvalue} 。注意 page, rowNum, sortorder, sortname
http://www.w3dev.cn/article/20130715/jqGrid-Post-Data-Module.aspx

jqGrid subGrid配置

Data序列化传递给ajax请求的数据,需要返回序列化后的数据。当需要向服务器传递自定义数据时使用,如json/xml格式的字符串等。Methods方法参数返回值描述expandSubGridRowrowidjqGrid object动态展开指定rowid的行的子表格collapseSubGridRowrowidjqGrid object动态收缩指定rowid的行的子表格toggleSubGridRowrowidjqGrid object动态切换指定rowid的行的子表格的展开/收缩状态subGridJsonjson, rowidfalse向子表格添加数据,json对对象,rowid为需要添
http://www.w3dev.cn/article/20130707/jqGrid-subGrid-config.aspx

jqGrid工具栏查询

oolbar',options);示例说明grid_id:已经构造过jqGrid的DOM对象idoptions :配置,详细参考下表  此代码效果图如下所示  此方法使用colModel中为查询定义的参数,参考:jqGrid查询配置  filterToolbar方法中使用的配置配置类型描述默认值autosearchboolean查询遵从如下规则对text元素,输入内容时按下Enter键是执行查询。对select元素,内容改变后执行查询jqGrid需要配置search参数为true,ajax才会执行查询请求truebeforeSearchfunction在执行查询前触发的事件,在触发g
http://www.w3dev.cn/article/20130706/jqGrid-toolbar-searching.aspx

jqGrid查询配置

oolean定义此列能否被查询truestypestring定义此列查询输入对象的类型。可以为text或selecttextsearchoptionsobjectJSON对象,包含查询域的定义,事件和其他属性,参考下面searchrulesobjectJSON对象,包含验证用户输入的条件searchoptions对象配置这些配置不适用自定义查询方法,这个方法使用另外的选择属性类型描述dataUrlstring仅对select元素有用,即 stype:'select'.。指定select元素通过ajax从哪个url地址获取,需要返回有效的select元素的html代码,如返回s
http://www.w3dev.cn/article/20130706/jqGrid-searching-config.aspx

jqGrid单字段查询

estring定义此列查询输入对象的类型。可以为text或selecttextsearchoptionsobjectJSON对象,包含查询域的定义,事件和其他属性,参考下面searchrulesobjectJSON对象,包含验证用户输入的条件searchoptions对象配置这些配置不适用自定义查询方法,这个方法使用另外的选择属性类型描述dataUrlstring仅对select元素有用,即 stype:'select'.。指定select元素通过ajax从哪个url地址获取,需要返回有效的select元素的html代码,如返回selectoption value=1One/o
http://www.w3dev.cn/article/20130706/jqGrid-singe-searching.aspx

jqGrid方法

rid对象没有关系,语法如下jQuery.jgrid.jqGridFunction( parameter1,...parameterN );示例说明jgrid.jqGridFunction :函数parameter1,parameterN:参数列表注意名字空间为jgrid函数/配置参数返回值描述ajaxOptionsempty objectnone设置jqGrid全局ajax请求配置。这个配置可以重写某些模块单枪的的所有ajax请求。 3.6+版本我们有3层ajax设置。第一层对模块使用的ajax,第二层由option配置决定,第三层可以通过传递给某些方法的参数来决定。第三层的ajax配置等
http://www.w3dev.cn/article/20130705/jqGrid-methods.aspx

jqGrid表单编辑配置

{}参数说明whichbutton :点击哪个对象 'prev' 或者 'next'formid : jQuery 包转好的对象,通过formid[0].id获取表单id值 (取名为formobject也许还好理解一些)rowid :加载的上/下一条数据的idafterComplete当所有动作和事件执行完毕,数据行已经添加或者更新到grid后触发afterComplete : function (response, postdata, formid) {}参数说明response :服务器返回的数据(ajax对象,注意不是ajaxobj.responseTe
http://www.w3dev.cn/article/20130703/jqGrid-form-editing-config.aspx

jqGrid通用编辑规则

选框是否选中edittype为select时,可以为字符串,对象或者函数。1)为字符串,需要包含一组 值:标签用分号(;)分隔开,字符串结尾不能为分号(;)。 2)为对象,则为json键值对对象,如editoptions:{value:1:One;2:Two} 3)定义为函数,则函数需要返回上面2种格式的数据。edittype为其他类型时,value为输入元素的值。dataUrlstring仅对editype:select有效。dataUrl表示从 配置的url中获取select元素的html代码。当配置了dataUrl,通过ajax获取html代码对元素进行填充,返回的html需要是一个有效
http://www.w3dev.cn/article/20130703/jqGrid-common-edit-rules.aspx

jqGrid行编辑配置

动态页没有发生错误)。事件参数为XHR对象,需要返回true/false(返回true会使用修改后的数据填充当前行,否则使用修改前的数据填充,同时关闭编辑模式。可以通过XHR.responseText得到服务器的返回值判断是否修改成功,在返回true/false,不会ajax可以参考这个:ajax对象)url:定义此项,将会替代jqGrid配置中的editurl,如果设置为 'clientArray',仅保存数据到grid中,不会向服务器提交数据(如果不想更改一行就提交一次,配置为这个值比较有用,可以点击页面上某个按钮将所有数据用ajax一次提交)extraparam:提交到
http://www.w3dev.cn/article/20130702/jqGrid-inline-edit-config.aspx

jqGrid datatype配置为function

ng here}  配置的方法有一个唯一参数,包含get/post到服务器的数据(JSON对象,为jqGrid配置中的postData配置内容),postData对象和jQuery ajax方法中的data配置一样  下面为一个datatype设置为function的详细示例//...jQuery(document).ready(function(){ jQuery(#list).jqGrid({ datatype: function(postdata) { jQuery.ajax({ url: 'example.php',
http://www.w3dev.cn/article/20130701/jqGrid-datatype-setto-function.aspx

jqGrid事件

。loadBeforeSendxhr,settings在ajax发送请求前执行,用于修改 XMLHttpRequest对象(xhr) ,例如修改自定义请求头等,返回false取消ajax请求。loadCompletedataajax请求返回后立刻触发。data :响应的数据,取决于datatype配置(datatype为json时和服务器返回的json格式字符串转为json对象后一致)loadErrorxhr,status,errorajax请求失败触发。此事件有3个参数xhr:ajax对象status:错误信息error:捕获的错误对象(可选)onCellSelectrowid,iCol,c
http://www.w3dev.cn/article/20130701/jqGrid-events.aspx

jqGrid JSON数据源读取器选项配置

; }, page: function (obj) { return 1; }, total: function (obj) { return 1; }, records: function (obj) { return obj.length; }}obj参数为服务器响应(ajax请求对象)数组数据  尽管jqGrid的主要目的是显示从数据库获取的动态数据,jqGrid也有很多方法可以处理客户端的Array数据。  相关jqGrid配置:datatype  相关colModel配置:sorttype,datafmt  相关方法: getRowData, delRowData,
http://www.w3dev.cn/article/20130628/jqGrid-json-datasouce-reader-options.aspx

jqGrid单元格编辑配置,事件及方法

ame, value, iRow, iCol):在单元格内容保存前触发beforeSubmitCell (rowid, cellname, value, iRow, iCol):你可以保存数据到任何地方,包括自定义ajax发送数据到服务器保存【用ajax时注意ajax为异步的,ajax未返回前就会继续自行下面2个事件,所以下面2个事件要根据ajax结果来进行一些判断的时候,ajax需要指定为同步执行】afterSaveCell (rowid, cellname, value, iRow, iCol) :beforeSubmitCell成功保存单元格内容后触发onSelectCell (row
http://www.w3dev.cn/article/20130627/jqGrid-cell-editing.aspx

jqGrid,强大的jquery表格插件

ox2+,safari3+,opera9.2+和chrome浏览器多语言支持:目前jqGrid支持超过20种语言,不过我下载的版本没有支持中文简体或者繁体。支持xml,json和数组作为数据源。另外一个有用的特性是你可以定义自己的数据类型。子表格对象:使用子表格对象可以显示数据行的子记录。子表格和表格对象一样,可以使用grid对象来替代,通过主表格对象的subGrid方法创建子表格。格式化(Formatting):格式化允许你定义单元格显示的内容预定义的格式化类型有:integer, number, date, currency, links, check boxes等。开发者可以定义自己格式
http://www.w3dev.cn/article/20130625/jqGrid-jquery-plugin.aspx

jqGrid选项配置

列是否能改变指的是这个参数配置在jqGrid创建后是否能修改。配置项类型描述默认值能否改变ajaxGridOptionsobjectjqGrid使用ajax请求数据时的全局配置。配置了这个对象可能会覆盖当前的jquery ajax配置,包括error,complete和beforeSend事件empty objectYesajaxSelectOptionsobject用于配置editoptions或者searchoptions配置中select对象通过dataUrl动态获取用的。empty objectYesaltclassstring隔行显示的样式,只有当altRows参数设置为true时才
http://www.w3dev.cn/article/20130625/jqGrid-options.aspx

HTML5 FileReader对象API,FileReader使用文档

.4)readAsArrayBuffer()开始读取指定的Blob对象或File对象中的内容. 当读取操作完成时,readyState属性的值会成为DONE,如果设置了onloadend事件处理程序,则调用之.同时,result属性中将包含一个ArrayBuffer对象以表示所读取文件的内容.void readAsArrayBuffer( in Blob blob);参数blob将要读取到一个ArrayBuffer中的Blob对象或者File对象.readAsBinaryString()开始读取指定的Blob对象或File对象中的内容. 当读取操作完成时,readyState属性的值会成为D
http://www.w3dev.cn/article/20130515/HTML5-FileReader-API.aspx

asp WinHttp.WinHttpRequest对象方法属性事件api

p对象进行了一些限制,无法通过XmlHttp对象伪造部分HTTP 头信息,但是WinHttp.WinHttpRequest.5.1是 msxml 4.0 的底层对象,XMLHTTP/ServerXMLHTTP 是在WinHttp.WinHttpRequest.5.1的基础上封装而来,所以WinHttpRequest 的用法与 XmlHttp 大致相同,但是WinHttp.WinHttpRequest.5.1却可以伪造所有http 请求header信息,所以要伪造所有的http响应头时,可以使用它,而不是封装后的XMLHTTP/ServerXMLHTTP对象WinHttpRequest 对象
http://www.w3dev.cn/article/20130510/WinHttp-WinHttpRequest-method-property-event-api.aspx