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

Passing variable to server-side then back to client side without postback or reload

有没有办法将值从客户端传递到服务器端,服务器端处理这个值,然后return它到客户端而不需要重新加载或回发?

我正在使用 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;
}

它return对我来说是未定义的。但是当我重新加载时,它给了我正确的值。有没有可能即使不重新加载我也能拥有那个价值?

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

我应该这样做。

var val = strpath;
return val;

我在这里只需要获取返回值,它无需重新加载即可完成。