| 发表于:2007-04-18 18:31:59 楼主 |
在调试ajaxpro结合gridview的时候,出现了奇怪的函数调用的问题 代码如下 using system; using system.data; using system.configuration; using system.collections; using system.web; using system.web.security; using system.web.ui; using system.web.ui.webcontrols; using system.web.ui.webcontrols.webparts; using system.web.ui.htmlcontrols; using system.data.sqlclient; namespace loadgridview { public partial class default6 : system.web.ui.page { protected void page_load(object sender, eventargs e) { ajaxpro.utility.registertypeforajax(typeof(default6)); } [ajaxpro.ajaxmethod] public int addajaxtable(string name) { string strcon = "server=.;database=ajaxtable;uid=sa;pwd=lanjie "; sqlconnection con = new sqlconnection(strcon); con.open(); sqlcommand com = new sqlcommand(); com.commandtext = "insert into ajaxtt values( ' " + name + " ') "; com.connection = con; int result=com.EXECutenonquery(); con.close(); com.dispose(); return result; } [ajaxpro.ajaxmethod] public string getajaxtable(int a ) { string strcon = "server=.;database=ajaxtable;uid=sa;pwd=lanjie "; sqlconnection con = new sqlconnection(strcon); con.open(); sqlcommand com = new sqlcommand(); com.commandtext = "select * from ajaxtt "; com.connection = con; sqldataadapter dra = new sqldataadapter(); dra.selectcommand = com; dataset ds = new dataset(); dra.fill(ds, "ajaxtt "); con.close(); com.dispose(); gridview gv = new gridview(); gv.datasource = ds; gv.databind(); system.text.stringbuilder strb = new system.text.stringbuilder(); system.io.stringwriter sw = new system.io.stringwriter(strb); system.web.ui.htmltextwriter htw = new system.web.ui.htmltextwriter(sw); gv.rendercontrol(htw); string s = strb.tostring(); return s; } } } <%@ page language= "c# " autoeventwireup= "true " codefile= "default6.aspx.cs " inherits= "loadgridview.default6 " %> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en " "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd "> <html xmlns= "http://www.w3.org/1999/xhtml " > <head runat= "server "> <title> 邦定gridview </title> <script language=javascript> function addajax() { var name=document.getelementbyid( "nametext ").value; loadgridview.default6.addajaxtable(name,callback); // loadgv(); } function loadgv() { loadgridview.default6.getajaxtable(1,callserverback); } function callserverback(res) { var cc=document.getelementbyid( "gv "); cc.innerhtml=res.value; } function callback(ss) { if(ss.value!=0) { loadgv(); } } </script> </head> <body onload= "loadgv(); "> <form id= "form1 " runat= "server "> <input type= "text " id= "nametext "/> <input type= "button " value= "ajaxbutton " onclick= "addajax(); " /> <div id= "gv "> </div> </form> </body> </html> 这是出问题的代码,如果js代码改写成下面就可以了, <script language=javascript> function addajax() { var name=document.getelementbyid( "nametext ").value; loadgridview.default6.addajaxtable(name); loadgv(); } function loadgv() { document.getelementbyid( "nametext ").innerhtml=loadgridview.default6.getajaxtable(1).value; } </script> 那么这是怎么回事呢? |
|
|
|
|