透明 发表于 2015-1-16 14:20:29

NET网页编程之AspxGridview提醒不撑持所指定的办法的办理办法

捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。明天在利用AspxGridView自界说的update按钮事务的时分,老是报出"不撑持所指定的办法"的毛病,英文毛病是"Specifiedmethodisnotsupported"。由于之前都没有效过AspxGridView自带的update,delete,addnew等办法,以是该成绩一向都没有发明。

利用场景是如许的,利用AspxGridView自带的编纂数据功效,点击一个自界说按钮挪用StartEdit()办法或AspxGridView自带的Edit按钮,出来了数据编纂窗口,编纂完数据后点击Update,就报出了不"撑持所指定的办法"的毛病

交叉一下,假如想要把按钮名"update","cancel"改成中文的,能够做以下设置:
<SettingsTextCommandCancel="作废"CommandUpdate="断定"/>

持续返来,找了之前一个利用DataSourceID绑定AspxGridView的示例来看,发明在用DataSourceID绑定AspxGridView的时分,界说了DeleteMethod,InsertMethod,UpdateMethod三个办法,那我们利用自界说的办法是否是也必需同时界说这三个办法呢,经测试后的确云云。

代码以下:
grid.RowUpdating+=newDevExpress.Web.Data.ASPxDataUpdatingEventHandler(grid_RowUpdating);
grid.RowInserting+=newDevExpress.Web.Data.ASPxDataInsertingEventHandler(grid_RowInserting);
grid.RowDeleting+=newDevExpress.Web.Data.ASPxDataDeletingEventHandler(grid_RowDeleting);

也能够在前台界说:
<dxwgv:AspxGridViewID="grid"runat="server"KeyFieldName="ID"OnRowDeleting="grid_RowDeleting"OnRowInserting="grid_RowInserting"OnRowUpdating="grid_RowUpdating">

grid_RowUpdating,grid_RowInserting,grid_RowDeleting三个办法以下:
voidGrid_RowDeleting(objectsender,DevExpress.Web.Data.ASPxDataDeletingEventArgse)
{
e.Cancel=true;
}

voidGrid_RowInserting(objectsender,DevExpress.Web.Data.ASPxDataInsertingEventArgse)
{
e.Cancel=true;
}

voidGrid_RowUpdating(objectsender,DevExpress.Web.Data.ASPxDataUpdatingEventArgse)
{
BLL.Targetbll=newSDIR.BLL.Target();
decimalt_value=0;
stringt_type="months";
switch(ReportType)
{
caseReportType.Months:
{
t_type="months";
break;
}
}

for(inti=0;i<DateCol_List.Count;i++)
{
if(decimal.TryParse(e.NewValues].ToString(),outt_value))
{
bll.Update(FormID,Convert.ToDateTime(DateCol_List),t_value,t_type);
}
}
e.Cancel=true;
(senderasAspxGridView).CancelEdit();

if(base.Events!=null)
{
EventHandlergrid_updateed=base.EventsasEventHandler;
grid_updateed(sender,EventArgs.Empty);
}
}


下面Grid_RowUpdating办法中的代码不必剖析,是我本人的调试代码,但必要注重的是,在三个办法中,代码e.Cancel=true必定不克不及少,假如没有这句代码,仍是会报"不撑持所指定的办法"的毛病。

总结,AspxGridView呈现"不撑持所指定的办法"的毛病时,人人应当确认以下四点。
1、AspxGridView已设置了主键,即KeyFieldName属性
2、AspxGridView已界说了事务OnRowDeleting,OnRowInserting,OnRowUpdating
3、背景有对OnRowDeleting,OnRowInserting,OnRowUpdating事务的处置
4、OnRowDeleting,OnRowInserting,OnRowUpdating办法中都包括e.Cancel=true代码。一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。

因胸联盟 发表于 2015-1-18 13:19:09

PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。

分手快乐 发表于 2015-1-26 20:48:03

CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。

活着的死人 发表于 2015-2-4 21:28:30

这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。

金色的骷髅 发表于 2015-3-1 14:01:14

Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。

小女巫 发表于 2015-3-10 19:56:18

主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。

蒙在股里 发表于 2015-3-17 10:11:41

如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。

飘飘悠悠 发表于 2015-3-24 07:58:00

主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
页: [1]
查看完整版本: NET网页编程之AspxGridview提醒不撑持所指定的办法的办理办法