js调用java后台方法_js调用后台方法

js调用后台方法[@more@]一.AjaxPro的使用

1.在项目中添加引用,浏览找到AjaxPro.2.dll文件2.在Web.config中的system.web里面写入以下代码configuration>httpHandlers>system.web>/configuration>3.在加载事件中,加入

AjaxPro.Utility.RegisterTypeForAjax(typeof(类名));4.写的方法都要用

[AjaxPro.AjaxMethod]开头,然后在写方法5.调用时必须写清楚

命名空间名.类名.方法,例:WebUI._Default.getData();6.调用可分两中方法(同步调用,异步调用)//在后台写的无参方法[AjaxPro.AjaxMethod]publicstringgetStr()

{return"hello my friends";

}//在后台写的有参方法[AjaxPro.AjaxMethod]publicstringgetString(stringstr)

{returnstr+"Say: hello my friends";

}

a.同步调用

(1).拖入html控件button

(2).双击,自动显示在.aspx的脚本中

(3).在里面写入你要输入的内容

例://------------------同步调用无参-----------function Button1_onclick()

{varres=WebUI._Default.getStr();

alert(res.value);

}//------------------同步调用有参------------function Button2_onclick()//TextBox1为服务器控件{varstr=document.getElementById("").value;varres=WebUI._Default.getStr(str);

alert(res.value);

}

b.异步调用

(1).拖入html控件button

(2).双击,自动显示在.aspx的脚本中

(3).在里面写入你要输入的内容

例://-----------------异步调用无参-----------------function Button3_onclick() {

WebUI._Default.getStr(getStrCallBack);

}

function getStrCallBack(res)

{

alert(res.value);

}//-----------------异步调用有参-----------------function Button4_onclick() {varstr=document.getElementById("").value;

WebUI._Default.getString(str,getStringCallBack);

}

function getStringCallBack(res)

{

alert(res.value);

}7.调用对象//对象[AjaxPro.AjaxMethod]publicClass getClass()

{

Class cla=newClass();

cla.C_Id=100;

cla.C_Name="34班";

cla.Count=20;returncla;

}//------------------同步调用对象-----------function Button5_onclick() {varres=WebUI._Default.getClass().value;

alert("班级编号:"+res.C_Id+"名称:"+res.C_Name+"人数:"+res.Count);

}//------------------异步调用对象-----------function Button6_onclick() {

WebUI._Default.getClass(getClassCallBack);

}

function getClassCallBack(clas)

{varres=clas.value;

alert("班级编号:"+res.C_Id+"名称:"+res.C_Name+"人数:"+res.Count);

}8.数据集的使用//方法[AjaxPro.AjaxMethod]publicDataSet getInfo()

{returnWebUI.GetDataSet.getList();

}//--------------------异步调用数据集--------------function Button8_onclick() {

WebUI._Default.getInfo(getDataSetCallBack);

}

function getDataSetCallBack(res)

{vardataset=res.value;varstrHtml="";

strHtml+='';

strHtml+='';

strHtml+='学生编号';

strHtml+='名称';

strHtml+='年龄';

strHtml+='';for(vari=0;i

{

strHtml+='';

strHtml+=''+dataset.Tables[0].Rows[i].stu_id+'';

strHtml+=''+dataset.Tables[0].Rows[i].stu_name+'';

strHtml+=''+dataset.Tables[0].Rows[i].stu_age+'';

strHtml+='';

}

strHtml+='';

thedata.innerHTML=strHtml;//thedata是一个

中的thedata}9.验证码的使用//----------------------验证码的使用(必须采用同步调用)----------------------//验证码的使用[AjaxPro.AjaxMethod]publicboolValidCodeData(stringcode)

{return(HttpContext.Current.Session["CheckCode"].ToString()==code);

}

function Button9_onclick() {varcode=document.getElementById("").value;varbool=WebUI._Default.ValidCodeData(code).value;if(bool==true)

{

alert("ok");

}else{

alert("no");

}

}二,直接调用:

javascript中:后台方法%>function says()

{

alert("");

}

function del()

{

alert("");//DeleteByID(8)后台方法名}

三,采用ICallbackEventHandler回调//必须声明System.Web.UI.ICallbackEventHandler接口publicpartialclass_Default : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler

{//定义一个回调的返回值privatestringResult;//定义两个变量,用来接收页面传过来到操作数privatestringNum1;privatestringNum2;protectedvoidPage_Load(objectsender, EventArgs e)

{

}//该方法是回调执行的方法,根据参数在这个方法中处理回调的内容,该方法没有返回值//此参数是从客户端传过来的publicvoidRaiseCallbackEvent(stringeventArgument)

{//eventArgumeng 为javascript从客户端传递的参数,本例传过来三个参数用“/”分割将每个参数取出存入数组string[] PagParams=eventArgument.Split('/');

Num1=PagParams[1];

Num2=PagParams[2];//根据第一个参数(所选的操作符),调用不同的执行函数switch(PagParams[0])

{case"0":

Result=add();break;case"1":

Result=sub();break;case"2":

Result=multi();break;case"3":

Result=division();break;

}

}//该方法是返回回调的结果给客户端//publicstringGetCallbackResult()

{returnResult;

}//一下四个函数是通过RaiseCallbackEvent方法,调用的回调要执行操作的函数privatestringadd()

{doubleaddResult=double.Parse(Num1)+double.Parse(Num2);returnaddResult.ToString();

}privatestringsub()

{doubleaddResult=double.Parse(Num1)-double.Parse(Num2);returnaddResult.ToString();

}privatestringmulti()

{doubleaddResult=double.Parse(Num1)*double.Parse(Num2);returnaddResult.ToString();

}privatestringdivision()

{doubleaddresult=double.Parse(Num1)/double.Parse(Num2);returnaddresult.ToString();

}

}

我的实现,前台一个textbox,一个普通button,单击按钮,将textbox中的值插入数据库

function test()

{

var names=document.getElementById("TextBox1").value;

var result= _Default.insert(names).value;

alert(result);

}

后台 #region

[AjaxPro.AjaxMethod]

public static string insert(string name)

{

string flag = "提交失败";

SqlConnection conn = DbOpen.DbaseConfigConnect();

SqlCommand command = new SqlCommand();

command.Connection = conn;

string str = "update WBLXDJB set WXR='" + name + "' where BXBH='DIA201'";

command.CommandText = str;

if (command.ExecuteNonQuery() == 1)

flag = "提交成功";

return flag;

}

#endregion

protected void Page_Load(object sender, EventArgs e)

{

AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));

}

记得引用AjaxPro.2.dll

web.config

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值