Asp.net前后台数据交互
时间:2010-09-09 来源:阳光明媚Ryan
1.利用JQuery和Ajax与后台交互,获取html控件中内容或者向html控件中修改添加内容
<script type="text/javascript"> $(document).ready(function() { handle_click("process", ["argument1", $("#title").val(),"argument2",$("#course_type").val(),"argument3",$("#course_intr").val(),"argument4",$("#teacher_intr").val()], AjaxSucceeded, AjaxFailed); //With parameters }); //返回成功时的处理函数 function AjaxSucceeded(result) { //alert(result.d); var obj=new Array(); obj=result.d.split("|"); $("#title").text(obj[0]); $("#course_type").text(obj[1]); $("#course_intr").text(obj[2]); $("#teacher_intr").text(obj[3]); } // //返回失败时的处理函数 function AjaxFailed(result) { alert(result.status + ' ' + result.statusText); } function handle_click(fn, argArray, successFn, errorFn) { //获取web service 的页面路径 var pagePath = window.location.pathname; //将argArray中的参数存入argList //argList中的字符串形式为{"":"","":"","":""} var argList = ''; if (argArray.length > 0) { for (var i=0; i<argArray.length; i+=2) { if (argList.length > 0) argList += ','; argList += '"' + argArray[i] + '":"' + argArray[i+1] + '"'; } } argList = '{' + argList + '}'; //Call the page method $.ajax({ type: "POST", url: pagePath + "/" + fn, //web service 函数路径 contentType: "application/json; charset=utf-8", //指定要返回json格式数据,而不是整个页面 data: argList, dataType: "json", success: successFn, error: errorFn }); } </script>
写在html中,process为前面handclick中设定的函数名称,函数中内容为调用C#后台代码
1 <script runat="server">
2 [System.Web.Services.WebMethod]
3 public static string process()
4 {
5 // PsyCareLib.psyclassroom.Get_Playvieo_Commend m = new PsyCareLib.psyclassroom.Get_Playvieo_Commend();
6 //string[]new_string = m.Get_Commend(argument1);
7 //string[] new_string = new string[2];
8 //new_string = m.Get_Commend(argument1, argument2);
9 PsyCareLib.psyclassroom.distribute_data m = new PsyCareLib.psyclassroom.distribute_data();
10 string new_string = m.get_dsdata();
11
12 //new_string[0] = "data1";
13 //new_string[1] = "data2";
14 return new_string;
15
16 }
17 </script>
2.如果要通过点击不同链接转到另一个页面,或者多个链接对应一个页面。而前台全为html代码,可按上面所写的方法,也可以使用URL拼接的方式获取或者 asp.net内置的对象。
比如一个链接:http://www.psyno.com?id=1这个,可以使用Request.Querystring["id"]来获取id对应的1,然后根据这个id号获取其它信息加载到页面中。
在HTML中可以包含服务端脚本,可以使用<%Response.write(fun())%>,或者简写为<%=fun()%>,当然fun()应该是有返回值的后台函数。
相关阅读 更多 +