将变量传递到服务器端然后返回到客户端而不进行回发或重新加载

时间:2015-11-17 02:20:56

标签: c# asp.net pagemethods

有没有办法将值从客户端传递到服务器端,服务器端处理此值,然后将其返回到客户端而不重新加载或回发?

我正在使用ajax将值传递给服务器端。这是我的客户端代码:

var baseUrl = '<%= ResolveUrl("~/") %>';
$.ajax({
    type: "POST",
    url: baseUrl + "Pages/TeamTimeTest/teamtime.aspx/setjson",
    contentType: "application/json; charset=utf-8",
    data: JSON.stringify({
        strpath: $("#hdnfld").val()

    }),
    success: function (data) {
    alert(data);
    },
    error: function (response) {
        console.log(response);
    }
});

这是代码背后的代码:

[WebMethod(EnableSession = true)]
public static string setjson(string strpath)
{
    HttpContext.Current.Session["strDwnPath"] = strpath;
    var val = HttpContext.Current.Session["strDwnPath"].ToString();
    return val;
}

它为我返回undefined。但是当我重新加载它时,它给了我正确的价值。即使没有重装,我有可能拥有这个价值吗?

1 个答案:

答案 0 :(得分:0)

HttpContext.Current.Session["strDwnPath"] = strpath;
var val = HttpContext.Current.Session["strDwnPath"].ToString();
return val;

我应该这样做。

var val = strpath;
return val;

我所需要的只是获取返回的值而没有重新加载。