ExtJs2.0学习系列(14)--Ext.TreePanel之第三式
ExtJs学习笔记

1.var paragraph = Ext.get(e.target); paragraph.highlight(); Ext.MessageBox.show({ title: 'Paragraph Clicked', msg: paragraph.dom.innerHTML, width: 400, buttons: Ext.MessageBox.OK, animEl: paragraph });实际上,传入到MessageBox.show的只有一个参数:一个Object literal,包含一组属性和属性值。
在Javascript中,Object Literal是动态的,你可在任何时候用{和}创建一个典型的对象(object)。
其中的字符由一系列的name/value组成的属性,属性的格式是[property name]:[property value]。
在整个Ext中,你将会经常遇到这种语法,因此你应该马上消化并吸收这个知识点!EXT 中文手册 pjq 收集整理 10 2008 使用Object Literal的原因是什么呢?主要的原因是“可伸缩性(flexibility)”的考虑",随时可新增、删除属性,亦可不管顺序地插入。
而方法不需要改变。
这也是多个参数的情况下,为最终开发者带来不少的方便(本例中的MessageBox.show())。
例如,我们说这儿的foo.action方法,有四个参数,而只有一个是你必须传入的。
本例中,你想像中的代码可能会是这样的foo.action(null, null, null, 'hello').,若果那方法用Object Literal来写,却是这样,foo.action({ param4: 'hello' }),这更易用和易读。
2.编码规范,new 一个新类外层可以不用括号,如items:items: new Ext.TabPanel({border: false, // already wrapped so don't add another borderactiveTab: 1, // second tab initially activetabPosition: 'bottom'})而元素外层需要括号如:items: {html:’aaa’}3.TreePanel问题,首先,TreePanel中,必须有两个属性:root和loadervar root = new Ext.tree.AsyncTreeNode({expanded: true,text: '全部',id: 'all',singleClickExpand: true,children: [{id: 'qixia',text: '栖霞',leaf: false,singleClickExpand: true}, {id: 'xingang',text: '新港',leaf: false,singleClickExpand: true}, {id: 'qita',text: '其他',leaf: false,singleClickExpand: true}]})AsyncTreeNode是带根节点的节点,就是说只要是AsyncTreeNode,都需要定义个一根节点(必须地),如果不想要根节点那就不要用AsyncTreeNode,在给节点添加节点的时候,我们是不需要再在子节点上添加根节点的,所以这时候再用AsyncTreeNode就不适合了,我用的是Array:var childNode = new Array({id: 'zhangsan',text: '张三',leaf: false,singleClickExpand: true});这样,就不存在必须写个根节点的问题了。
ExtJs中文教程

Ext入门基础
get,getDOM,getCmp的区别 DOM的增删改查
尺寸&大小,定位
动画
事件 类编程 AJAX
Ext入门基础
要学习及应用好Ext框架,必须需要理解Html DOM、Ext Element及 Component三者之间的区别。 每一个HTML页面都有一个层次分明的DOM树模型,浏览器中的所有内容都 有相应的DOM对象,动态改变页面的内容,正是通过使用脚本语言来操作 DOM对象实现。(通常使用getElementById/Ext.getDOM获得DOM对象) 仅仅有DOM是不够的,比如要把页面中的某一个节点移到其它位置,要给某 一个节点添加阴影效果,要隐藏或显示某一个节点等,我们都需要通过几句 javascript才能完成。因此,Ext在DOM的基础上,创建了Ext Element,可以 使用Element来包装任何DOM,Element对象中添加了一系列快捷、简便的实 用方法。(通常使用Ext.get获得Element对象) 对于终端用户来说,仅仅有Element是不够的,比如用户要显示一个表格、要 显示一棵树、要显示一个弹出窗口等。因此,除了Element以外,Ext 还建立 了一系列的客户端界面组件Component,我们在编程时,只要使用这些组件 Componet即可实现相关数据展示及交互等,而 Component是较高层次的抽 象,每一个组件在渲染render的时候,都会依次通过Element、DOM来生成 最终的页面效果。(通常使用Ext.getCmp获得Component对象)
方位、尺寸(如getHeight、getWidth)
Ext入门基础
DOM查询
获取下一个侧边节点,跳过文本节点。可选地可送入一个期待的选择符。 Ext.get('elId').next(); 类似的还有: Ext.get(„elId‟).prev();//上一个侧边节点 Ext.get(„elId‟).first();//第一个节点 Ext.get(„elId‟).last();//最后一个节点 Ext.get(„elId‟).parent();//父节点 比如要获取页面上所有的p标签,则可以使用: var ps = Ext.select('p'); 这样你就可以对所要获取的元素进行操作了,select()方法返回的是 positeElement对象,可以通过其中的each()方法对其所包含的元素进行遍历: ps.each(function(el) { el.highlight();//高亮 }); 当然,如果你要是对获取的所有元素进行相同的操作,可以直接应用于CompositeElement 对象上,如: ps.highlight();//select方法返回的结果可直接如同Element般地操作 或是: Ext.select('p').highlight(); 当然,select参数还可以更复杂一些,其中可以包括CSS选择符,基本的XPath,HTML属性等
ext用法简介

EXT 2.0学习和使用总结
• EXT是由JAVASCRIPT脚本编写成的一个强大 的B/S架构下的良好的用户体验的客户端程 序。对于饱受网页样式疾苦的广大程序员 同志们来讲,EXT让我们看到了黎明的曙光, 我们看到了JAVA也可以做的如此的——炫
• 在这里先给大家发几个截图看看,体会一 下
后台管理布局
tbfill
Ext.Toolbar.Fill 文件
tbitem
Ext.Toolbar.Item 工具条项目
tbseparator Ext.Toolbar.Separator 工具栏分隔符
tbspacer Ext.Toolbar.Spacer 工具栏空白
tbsplit Ext.Toolbar.SplitButton 工具栏分隔按钮
把EXT部署到TOMCAT上
将ext-2.0.2放到tomcat的webapps目录下, 然后启动,部署成功,端口设置成8080,方 便后面案例演示,最好把这个目录放在 TOMCAT下面,里面有拓展控件,下载的没 有。 原因:EXT中文件引用基本上都是相对的,放 在TOMCAT中可以很好的解析
使用前提-导入程序库
tabpanel Ext.TabPanel 选项面板
treepanel Ext.tree.TreePanel 树
viewport Ext.ViewPort 视图
window
Ext.Window 窗口
工具栏组件
toolbar Ext.Toolbar 工具栏
tbbutton Ext.Toolbar.Button 按钮
scripts/ext/resources/css/ext-all.css//EXT通用CSS,包含所有的样式(必须) scripts/ext/resources/css/icon.css//自定义存放菜单项或其他页面图标(自
Ext.TabPanel文档(tab嵌套tab)

Ext.TabPanel学习笔记1、首先引进Ext:**注意自己Ext所在位置的路径<script type="text/javascript" src="<@url "/ext/ext-base.js" />"></script><script type="text/javascript" src="<@url "/ext/ext-all.js" />"></script><link type="text/css" rel="StyleSheet" href="<@url "/ext/resources/css/ext-all.css" />" />2、接下来创建简单的TabPanel(选项面板):方法一:<div id="id"></div><div style="display:none;"><div id="id2">不同的引进内容的方式(多html元素时建议用,自我感觉这种方式比较好)</div></div><script type="text/javascript">var tabs = new Ext.TabPanel({renderTo: "id",//渲染到id的元素内,比如div中activeTab: 0, //默认当前激活标签(从0到n)height:350,//高度,标签内容所在区域的高度width:300,//宽度,不解释frame:true,//圆角和浅蓝色背景items:[{title:"标签名称1",html:"内容也可以是html标签1(一般内容较少时用)"},{title:"标签名称2",closable:true,//标签是否可以关闭,默认否contentEl:"id2" //引进id2的内容},{title:"标签名称3",autoLoad: {url: '02-05c2.html', scripts: true}, } //第三种引进内容方式,引进其他页面,没用过]});</script>效果图:图一图二方法二:<script type="text/javascript">var tabs = new Ext.TabPanel({renderTo: document.body,height: 100,width:300});tabs.add({title: '标题1',html: '内容1'});tabs.add({id: Ext.id(),title: '标题2',html: '内容2',closable: true});tabs.activate(0);</script>效果图:3、tabpanel嵌套tabpanel可以直接在items中再创建tabpanel(其他组件也可以这样嵌套),这样理论上可以实现n 层的嵌套。
EXT学习文档

EXT学习文档ext-1.1部分原创/部分整理第一章 EXT入门1.1 Ext简介Ext在最开始的时候,是作为YUI的一个扩展存在的,所以那个时候它的名称是YUI.Ext,后来,Ext作为一个独立的项目进行开发,并不再依赖于YUI。
适合企业级开发,能实现复杂的Layout布局,界面效果可以和backbase媲美,而且使用纯javascript代码开发。
真正的可编辑的表格Edit Grid,支持XML和Json数据类型,直接可以迁入grid,有完整地说明文档。
1.2 下载Ext如果你未曾下载过,那应从这里下载最新版本的Ext /downloads。
针对你的下载需求,有几个不同的版本。
通常地,最稳定的版本,是较多人的选择。
最新的版本是Ext2.0,本教程使用ext-1.1版本。
下载解包后,我们可以查阅ext目录下的docs中的文档配合example下是些实例文件进行学习。
在EXT目录中,package目录是ext所有类库文件,在ext-all.js文件中已经包含了该目录下所有的类。
因此我们开发中只需要导入ext-all.js文件即可。
Resources目录下有Ext所需要的图片文件和CSS样式文件。
对于样式文件我们只用到ext-all.css一个文件即可,它包含了所有Ext中样式的定义。
在样式文件夹中还有三个Ext主题样式文细讲到。
1.3 第一个例子我们开始第一个例子,可以帮助你了解Ext的开发。
(1)首先我们建立项目目录,如C:\example1。
(2)在example1目录下建立js和css两个目录,用于存放JS文件和CSS样式文件。
(3)为了节省空间我们只把需要的文件拷贝到项目中:将EXT目录中resources\css\目录下的ext-all.css、xtheme-aero.css、xtheme-gray.css、xtheme-vista.css 文件拷贝到项目中CSS目录下。
将EXT目录中ext-all.js文件和adapter\ext\ext-base.js文件拷贝到项目中JS目录下。
ExtJs学习资料36Ext.GridEditPanel添加修改删除操作

1、引入ExtJs框架文件(存入Global.js文件中)document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"../extjs/resources/css/ext-all.css\"/> "); document.write("<script type=\"text/javascript\" src=\"../extjs/adapter/ext/ext-base.js\"></script>");document.write("<script type=\"text/javascript\" src=\"../extjs/ext-all.js\"></script>");document.write("<script type=\"text/javascript\" src=\"../extjs/ext-lang-zh_CN.js\"></script>");2、引入Global.js文件<script type="text/javascript" src="Global.js"></script><script type="text/javascript" src="../js/GridEditPanel3.js"></script><style type="text/css"> .icon {background:url(../images/3.gif) no-repeat !important }</style>3、效果图===================================================================================================================== 4、JS源代码[GridEditPanel3.js];"side";/*********************************************************************************/function sexDisplay(_value){ //对性别进行数据映射return (_value==0?"女":"男");} /*********************************************************************************/var _cols=newnew , //行号列{header:"姓名",dataIndex:"name",menuDisabled:true},{header:"年龄",dataIndex:"age",menuDisabled:true},{header:"性别",dataIndex:"sexValue",menuDisabled:true,renderer:sexDisplay}]);var _store=newdata:[["刘俊","30","1"],["刘勇","23","1"],["刘玲","21","0"]],fields:["name",{name:"age",type:"int"},{name:"sexValue",type:"int"}]}); /*****************************************************************************///正则表表达式验证年龄是否合法Ext.apply(,{"ageValid":function(_v){if(/^\d+$/.test(_v)){var _age=parseInt(_v);if(_age<200){return true;}return false;}},"ageValid Text":"输入的年龄不符合范围(0-200之间的数字)","ageValid Mask":/[0-9]/i}); /*****************************************************************************/personInfoPanel=Ext.extend(,{//----1constructor:function(_cfg){//----0if(_cfg==null){ //_cfg不为null时_cfg={};}Ext.apply(this,_cfg); //应用于当前实例本身var _bool=this["readOnly"]==null?false:this["readOnly"];,{//----2labelWidth:30, defaultType:"textfield", bodyStyle:"padding:5", labelAlign:"right", defaults:{ anchor:"94%",//注意下面的写法readOnly:_bool},baseCls:"x-plain",//设计时有效frame:true, //设计时有效items:[{ fieldLabel:"姓名", allowBlank:_bool, name:"name"},{ fieldLabel:"年龄", allowBlank:_bool, name:"age", vtype:"ageValid"},{xtype:"combo", fieldLabel:"性别", hiddenName:"sexValue",store:newdata:[[1,"男"],[0,"女"]],fields:[{name:"sexValue",type:"int"},"sex"]}),emptyText:"请选择...", mode:"local", triggerAction:"all", displayField:"sex",valueField:"sexValue", value:1, selectOnFocus:true, readOnly:true,//注意下面的写法disabled:_bool, editable:false, typeAhead:true}]});//----2},//----0getRecord:function(){if(this.getForm().isValid()){ return (new ;}else{ throw Error("表单验证没有通过");}},setValues:function(_record){ this.getForm().loadRecord(_record); },reset:function(){this.getForm().reset();}});//----1/******************************************************************************/PersonInfoWindow=Ext.extend(Ext.Window,{//----0form:null,//constructor:这个成员用来定义新的子类的构造函数,并且被返回//如果没有指定这个成员,将生成并返回一个新的的构造函数,在这个构造函数中,//仅仅使用传递进来的参数调用父类的构造函数(来生成子类实例)。
ExtJs2.0学习系列(4)--Ext.FormPanel之第一式
ExtJs2.0学习系列(4)--Ext.FormPanel之第一式上篇中我们讨论了Ext.window的简单使用,今天我们要看看强大的FormPanel,也是继承panel组件的使用。
首先弄清楚这个问题,创建的时候://查看源代码便知,两种方法是一样的Ext.form.FormPanel = Ext.Form Panel;我们还是从最简单的代码实例开始吧:<!--html代码--><body><div id="form1"></div></body>//js代码var form1 = new Ext.form.FormPanel({width:350,fram e:true,//圆角和浅蓝色背景renderTo:"form1",//呈现title:"FormPanel",bodyStyle:"padding:5px 5px 0",item s:[{fieldLabel:"UserName",//文本框标题xtype:"textfield",//表单文本框nam e:"user",id:"user",width:200},{fieldLabel:"PassWord",xtype:"textfield",nam e:"pass",id:"pass",}],buttons:[{text:"确定"},{text:"取消",handler:function(){alert("事件!");}}]});都是通过items属性参数把表单元素添加到这个表单中。
学习ExtJs笔记
学习ExtJs笔记Grid表格1、添加数据的时候,将数据的属性设置为dirty。
因为在使用Ajax提交数据的时候,非dirty的数据不会自动保存到store的modifield属性中。
2、保存数据:(1)store.modifield.slice(start,end);作用:返回一个新数组,取得从start到end的所有元素,但不包括end元素。
如果参数只有一个0,则表示取得全部的数据;(2)each(m,function())(m为一个数组),该方法主要作用是遍历数组m中的每一条记录,并且每条记录都按照function()方法进行处理。
不可在function方法里面加上循环,否则,将出现多重结果。
(3)listeners监听器:listeners: {"afterEdit": {fn: afterEdit,scope: this} }作用:监听afterEdit。
当单元格编辑完成或者退出编辑状态,自动调用fn方法,作用的范围是当前页面。
(4)当添加数据成功后,新添加的数据有三角行的标识,要除掉标识,可用Record 的commit方法。
3、读取数据(1)从Txt文件中读取数据将读取的数据编码eval(response.responseText),否则将不能正确读取数据。
(2)设置记录的字段的值var initValue = {name:'',gender:'',age:''};var p = new Record(initValue);p.set('name',data_get[i].name);p.set('gender',data_get[i].gender);p.set('age',data_get[i].age);Tree 树1、Tree的加载使用方法render。
Tree.render()方法将tree加载到tree的‘el’中。
extjs实用开发指南
序言ExtJS 是一个很不错的Ajax 框架,可以用来开发带有华丽外观的富客户端应用,使得我们的b/s 应用更加具有活力及生命力。
ExtJS 是一个用javascript 编写,与后台技术无关的前端ajax 框架。
因此,可以把ExtJS 用在.Net、Java、Php 等各种开发语言开发的应用中。
最近我们在几个应用都使用到了ExtJS,对公司以前开发的一个OA 系统也正在使用ExtJS2.0 进行改造,使得整个系统在用户体验上有了非常大的变化。
本教程记录了前段时间本人学习ExtJS 的一些心得及小结,希望能帮助正在学习或准备学习ExtJS 的朋友们快速走进ExtJS2.0 的精彩世界。
教程包括ExtJS 的新手入门、组件体系结构及使用、ExtJS 中各控件的使用方法及示例应用等,是一个非常适合新手的ExtJS 入门教程。
本教程主要是针对ExtJ 进行介绍,全部代码、截图等都是基于ExtJS2.0。
在学习了本教程后,可以下载 这个基于ExtJ 开发的单用户Blog 系统的源代码,这个系统是我们团队中的williamraym 与大峡等人开发的一个演示系统,系统源码整体质量比较高,通过学习这套源代码相邻一定能提高您ExtJS 的综合水平。
本教程比较适合ExtJS 的新手作为入门教程及手册使用,并在我的博客/blog/lengyu/上进行发布;应一些朋友的要求,根据本教程的写作思路,我还编写了比本教程更为详细的《ExtJS 实用开发指南》,包含详细的ExtJS 框架使用方法、各个控件详细配置参数、属性、方法及事件介绍,与服务器端集成及一个完整的示例应用系统介绍等内容,适合想深入学习ExtJS 或正在使用ExtJS 进行开发朋友们使用。
该《指南》当前在 作为VIP 文档发布,供该站的VIP 用户阅读及下载。
凡是购买了《ExtJS 实用开发指南》文档的VIP 用户,都可以在该指南印刷版出版后均会免费得到相应的印刷版本。
ExtJs可视化设计教程_ext_Designer_Sencha_Architect
这一个别指导最与相关?Ext 设计者,1. x。
Ext 设计者是作什么的?和设计者建筑网络应用UI和设计者展开UI 成份对数据连接输出一个计画Ext 设计者是作什么的?设计者为Ext JS 网络申请是图解式使用者接口建立者。
它的简单易用累赘和下降环境促使你很快地设计原型你的申请接口成份,把接口成份连结到你的数据,而且为每个成份输出很好形成、物体导向的密码。
程序师和非程序师一样能使用设计者在帮助使更快速地被开始而且使较快速的重复成为可能的计画的申请设计上合作。
与设计者在一起,你能:很快地而且容易地建立复杂的表格。
变化成份地面区划和以货易货控制用钮扣的点击的类型。
关于写落实密码、,而非样板文件UI 密码的焦点。
另外数据对于关于设计者和Ext JS 的较多资讯:看这?设计者示范?对于对设计者的快介绍。
对于关于的资讯最近的设计者释放和更新,见到这?设计者Changelog。
如果你对Ext JS 很新,见到成份和容器模型数据在这?Ext JS 概观。
为关于任何Ext JS 班级或方法的细节,见到这?Ext JS 美国石油协会叁考。
和设计者建筑网络应用UI设计者被设计连同你的现有发展环境和工具被用。
它不是日蚀或你的喜爱本文编者的一个替换。
被设计者产生的密码能进入你的现有IDE 之内被进口,而且你能在你的IDE 之内的设计者的外面或与你的选择的编者编辑UI 落实文件。
当使用设计者,你:在设计者帆布上展开你的UI 成份。
配置成份。
连接到你的数据商店。
输出你的计画。
实现你的事件处理和习惯方法在这产生。
js 申请。
重要的!?当你第一次输出你的计画,两个Javascript 文件为你的计画的每个最高阶层的成份被产生。
文件与这。
ui.js 延长为UI 成份包含恶劣的班级。
你在文件中扩充这一个基础班级与这。
js 延长实现你的事件操作者和订制的功能。
不要修正这。
ui.js 文件直接地,每当你修正并且输出你的计画,它将会重写。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ExtJs2.0学习系列(14)--Ext.TreePanel之第三式(可增删改的树) 继续tree的learn! 今天就来个可增删改的树吧,操作数据库就使用比较方便的Linq,无非就是增删改! LinqData.dbml:
html代码: dth="200px" height="200px"> css代码: 效果图: 图就不多贴出来,下面看核心代码: 核心代码: js代码:
/// Ext.onReady(function(){ var mytree=new Ext.tree.TreePanel({ id:"mytree", el:"container", animate:true, title:"可增删改的树tree", collapsible:true, frame:true, enableDD:true, enableDrag:true, rootVisible:true, autoScroll:true, autoHeight:true, width:250, lines:true, loader:new Ext.tree.TreeLoader({ url:"CURDTree.ashx",//服务器处理数据代码 listeners:{ "loadexception":function(loader,node,response){ //加载服务器数据,直到成功 node.loaded = false; node.reload.defer(10,node); } } }), listeners:{ "contextmenu":function(node,e){ if(node.isLeaf()) { var nodemenu=new Ext.menu.Menu({ items:[{ text:"添加小类别", iconCls:'leaf',//右键名称前的小图片 handler:function(){ Ext.MessageBox.prompt("请输入新项名称","",function(e,text){ if(e=="ok") { Ext.Ajax.request({ url: 'CURDTree.ashx?newitemParentid='+node.parentNode.id.substring(2)+"&newitemValue="+text, success:function(request) { mytree.root.reload();//数的重新加载 mytree.root.expand(true,false); }, failure:function(){ alert("添加失败"); } }); } else { alert("取消了"); } }) } },{ text:"编辑小类别", iconCls:'leaf', handler:function(){ Ext.MessageBox.prompt("请输入此项新名称","",function(e,text){ if(e=="ok") { Ext.Ajax.request({ url: 'CURDTree.ashx?editItemid='+node.id+"&editItemvalue="+text,//传递需要的值,服务器会执行修改 success:function(request) { mytree.root.reload(); mytree.root.expand(true,false); }, failure:function(){ alert("编辑失败"); } }); } else { alert("取消了"); } }) } },{ text:"删除小类别", iconCls:'leaf', handler:function(){ Ext.Ajax.request({ url: 'CURDTree.ashx?delItemid='+node.id,//根据id删除节点 success:function(request) { mytree.root.reload(); mytree.root.expand(true,false); }, failure:function(){ alert("删除失败"); } }); } }] }); nodemenu.showAt(e.getPoint());//menu的showAt,不要忘记 } else if(!node.isLeaf()&&node.parentNode!=null) { var nodemenu=new Ext.menu.Menu({ items:[{ text:"添加大类别", iconCls:'folder', handler:function(){alert(node.id)}//在此略去 },{ text:"编辑大类别", iconCls:'folder', handler:function(){alert("执行事件代码")} },{ text:"删除大类别", iconCls:'folder', handler:function(){alert("执行事件代码")} }] }); nodemenu.showAt(e.getPoint()); } } } });
var root=new Ext.tree.AsyncTreeNode({ id:"root", text:"管理菜单", expanded:true });
mytree.setRootNode(root); mytree.render(); }) 服务器端代码: //CURDTree.ashx文件 //引用Newtonsoft.Json.dll <%@ WebHandler Language="C#" Class="CURDTree" %>
using System; using System.Web; using System.IO; using System.Linq; using Newtonsoft.Json;
public class CURDTree : IHttpHandler {
public void ProcessRequest (HttpContext context) { LinqDataDataContext lddc = new LinqDataDataContext(@"Data Source=WIN-7JW7UWR0M27\MSSQL2005;Initial Catalog=LinqData;Persist Security Info=True;User ID=sa;Password=*****");
if (context.Request.QueryString["newitemParentid"] != null && context.Request.QueryString["newitemValue"] != null) { //添加 SmallClass sc = new SmallClass(); sc.BigClassId = Convert.ToInt32(context.Request.QueryString["newitemParentid"]); sc.SmallClassName = Convert.ToString(context.Request.QueryString["newitemValue"]); lddc.SmallClass.InsertOnSubmit(sc); lddc.SubmitChanges(); } else if (context.Request.QueryString["editItemid"] != null&&context.Request.QueryString["editItemvalue"]!=null) { //编辑 SmallClass sc = lddc.SmallClass.First(s => s.id == Int32.Parse(context.Request.QueryString["editItemid"])); sc.SmallClassName = Convert.ToString(context.Request.QueryString["editItemvalue"]); lddc.SubmitChanges();