asp.net 利用Ajax和Jquery在前台向后台传参数并返回值

2021-01-19 08:11

阅读:571

YPE html>

标签:cme   c99   component   session   eval   lock   view   bin   new   

方案一 直接调用后台

 1  2     
 3 34 
35   //这里是参数的来源
36 
37    "txtUserName" type="text" />
1 [WebMethod]//方法前边必须添加 [WebMethod]       
2 
3 public static string GetValueAjax(string username)//这个方法需要是静态的方法要用到关键字static        
5 {
6    //在这里可以对传进来的参数进行任何操作            
7   return username;     
8 }

 

方案二 一般处理程序

 1  
 2       3 
 4      
 5      21 
22 "txtYiBan" type="text" />

 

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Services;
 6 using System.Web.SessionState;
 7 
 8 namespace aspAjaxTest
 9 {
10     /// 
11     /// ajaxtest 的摘要说明
12     /// 
13     [WebService(Namespace = "http://tempuri.org/")]
14     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
15     public class ajaxtest : IHttpHandler
16     {
17         HttpContext Context;
18         /// 
19         /// 获取传的值,并调用其他的方法
20         /// 
21         /// 
22         public void ProcessRequest(HttpContext context)
23         {
24             Context = context;
25             context.Response.Clear();
26             context.Response.ContentType = "text/html; charset=utf-8";
27             //获取传来的值
28             string methodName = GetQueryString("json");
29 
30             //可以调用其他方法------看下文
31         }
32         /// 
33         /// 获取传的值
34         /// 
35         /// 
36         /// 
37         string GetQueryString(string name)
38         {
39             //获取传的值
40             return Context.Request.Params[name];
41         }
42 
43         public bool IsReusable
44         {
45             get
46             {
47                 return false;
48             }
49         }
50     }
51 }

 

  • 在aspx的后台可以用如下的方式来捕获参数:

  workstateValue = Request.QueryString["workstateValue"];

  • 在一般处理程序中可以用:

  return Context.Request.Params[name];

 

JQuery在asp.net中三种ajax传值

1)通过webservice,注意去掉注释[System.Web.Script.Services.ScriptService]这行前的注释

2)通过aspx.cs文件中的静态方法

3)通过aspx文件url

 

技术图片技术图片
 1 "C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="asp.net.WebForm1" %>
 2 
 3 span>"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4 "http://www.w3.org/1999/xhtml">
 5"server">
 6      7      8     49 
50 
51     
"form1" runat="server"> 52 53
54 "Button1" type="button" value="jquery调用WebService" onclick="Ws()" /> 55
56
57 "Button2" type="button" value="jquery调用aspx页面静态方法" onclick="StaticMethod()" /> 58
59
60 "Button3" type="button" value="jquery通过page存储值" onclick="FromPage()" /> 61
62
63 64
前台code
技术图片技术图片
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Services;
 6 
 7 namespace asp.net
 8 {
 9     /// 
10     /// WebService1 的摘要说明
11     /// 
12     [WebService(Namespace = "http://tempuri.org/")]
13     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
14     [System.ComponentModel.ToolboxItem(false)]
15     // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
16      [System.Web.Script.Services.ScriptService]
17     public class WebService1 : System.Web.Services.WebService
18     {
19 
20         [WebMethod]
21         public string HelloWorld()
22         {
23             return "Hello World"+System.DateTime.Now.ToLongTimeString();
24         }
25 
26         [WebMethod]
27         public string HelloWorld2(string name)
28         {
29             return "Hello World" + name + System.DateTime.Now.ToLongTimeString();
30         }
31     }
32 }
webservice中code
技术图片技术图片
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 using System.Web.Services;
 8 
 9 namespace asp.net
10 {
11     public partial class aspx页面代替ws : System.Web.UI.Page
12     {
13         protected void Page_Load(object sender, EventArgs e)
14         {
15            
16         }
17         [WebMethod] 
18         public static string SayHello()
19         {
20             return "Hello";
21         }
22 
23         [WebMethod]
24         public static string SayHello2(string name)
25         {
26             return "Hello"+name;
27         }
28     }
29 }
aspx.cs中code
技术图片技术图片
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 using System.IO;
 8 
 9 namespace asp.net
10 {
11     public partial class dataContent : System.Web.UI.Page
12     {
13         protected void Page_Load(object sender, EventArgs e)
14         {
15             Response.Clear();
16             Page.ViewStateMode = ViewStateMode.Disabled;
17             if (Request.QueryString["nowtime"] != null)
18             {
19                 string stime = Request.QueryString["nowtime"].ToString();
20                 Response.Write(stime);
21             }
22             Response.Flush();
23           
24         }
25     }
26 }
用url传值 通过aspx页面保存数据

 

 

asp.net 利用Ajax和Jquery在前台向后台传参数并返回值

标签:cme   c99   component   session   eval   lock   view   bin   new   

原文地址:https://www.cnblogs.com/zhao987/p/13337406.html


评论


亲,登录后才可以留言!