如何将值从javascript发送到服务器端(asp.net)?

时间:2011-10-09 06:48:15

标签: javascript asp.net client-side server-side

在不刷新页面的情况下,从JavaScript(客户端)向服务器(asp.net)发送值的最佳方法是什么?

我想将数据插入数据库,但我不想刷新页面或更改其上的任何数据。

5 个答案:

答案 0 :(得分:8)

简单方法:

1-将jquery导入您的页面
2-在页面的cs文件中创建ur函数,如下所示

     [WebMethod]
    public static string Save(string param1,string param2)
    {
        string result;
        //your code must return somthing string
        return result;
    }

3-在您的aspx页面中创建您的功能

function save(){
var param1 = 'value 1 you need to send to the server should be string';
var param2 = 'value 2 you need to send to the server should be string';
         $.ajax({
                  type: "POST",
                  url: "pagename.aspx/Save",
                  data: "{param1: '"+ param1 +"' , param2 :'"+ param2 +"'}",
                  contentType: "application/json; charset=utf-8",
                  dataType: "json",
                  async: false,
                  cache: false,
                  success: function(result){
                 //Successfully gone to the server and returned with the string result of the server side function do what you want with the result  

                  }
                  ,error(er)
                  {
                  //Faild to go to the server alert(er.responseText)
                  }
          });
        }

4-点击按钮

调用此功能

我的代码和脚本的更多问题或描述我在这里:)

答案 1 :(得分:2)

一种简单的方法是在页面上使用页面方法或静态方法,并使用jquery从服务器端代码发送或获取数据。这个链接有一个很好的演练

http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/

答案 2 :(得分:1)

该技术称为Ajax,并且不缺少tutorialslibraries(更不用说YUI或{{3}等大型图书馆的支持})。

答案 3 :(得分:1)

Ypu必须使用 Ajax 技术,JQueryAsp.netYUI以及其他允许您使用Ajax技术的api和库。< / p>

Asp.net中最简单的一个是通过在页面中添加 ScriptManager UpdatePanel 来使用内置的Asp.net Ajax功能

答案 4 :(得分:0)

实际上没有人回答这个问题。因为,“导入jquery”“使用ajax”等都否定了OP要求javascript解决方案的事实。这是javascript中的单行/很容易做到。

在您的javascript中,您只需调用方法:

PageMethods.SomeMethod('test');

你的“SomeMethod”将成为这样的代码背后的代码:

[WebMethod]
    public static string SomeMethod(string param1)
    {
        string result = "The test worked!";
        return result;
    }

规则: 您必须使用WebMethod属性识别方法背后的代码。它必须是静态的。您必须在页面中注册脚本管理器,如下所示:

<asp:ScriptManager ID="MyScriptManager" runat="server" EnablePageMethods="true" />

由于我正在使用aspx webforms页面来执行一些非常简单的javascript函数,比如检索/存储地理位置,我会根据需要将它放在Form元素中。