通过Javascript从一个页面传递数据,并使用c#代码在另一个页面捕获数据

通过Javascript从一个页面传递数据,并使用c#代码在另一个页面捕获数据,javascript,c#,.net,query-string,Javascript,C#,.net,Query String,我试过使用几种方法,其中一种是查询。 这是我的密码: function () { var tid = $(this).text(); var url = "SearchResult.aspx?about=" + encodeURIComponent(tid) + ""; window.location = url; } protected void Page_Load(object sender, EventArgs e) { string arg = Request.Q

我试过使用几种方法,其中一种是查询。 这是我的密码:

function () { var tid = $(this).text(); 
  var url = "SearchResult.aspx?about=" + encodeURIComponent(tid) + ""; 
  window.location = url; 
}

protected void Page_Load(object sender, EventArgs e)
{
    string arg = Request.QueryString["about"];
}
但问题是我们所知道的是,数据可以在url中看到,并且可以被任何用户修改

现在我该怎么做才能传递我的数据,而不会让任何用户看到


有没有办法使用uu doPostBack()呢?

你可以像这样发布数据

$.post('SearchResult.aspx', {about : encodeURIComponent(tid)});
在服务器端:

   string arg = Request.Form["about"];

但这也不安全。任何人都可以发布任何东西。除非有访问令牌。

我不清楚“不可见”是什么意思。如果
POST
数据到服务器,您可以使用隐藏字段将其隐藏起来,但如果用户愿意,您无法阻止他们更改发布的数据。此外,如果这是一个搜索函数(“SearchResult.aspx向我建议是这样的”),您可能希望坚持使用查询字符串,以便用户可以将搜索结果添加到书签中。为了获得更好的答案,我认为您需要更具体地说明您试图实现的目标。如果您确实需要阻止用户查看和理解您传递的数据,您可以加密您的数据(本例中为tid)在JS中,用C#解密。例如,请看这些问题,这些问题解释了如何做到这一点:,@SashaDu用户可以访问脚本,整个加密过程可以从中复制出来,那么有什么好处呢?@Oskar Lindberg:我们不清楚Jay的情况是什么,以及他为什么需要保护查询字符串。因此,我支持他只是不希望用户看到、理解和询问查询字符串中出现的数据。我想他的目的不是为了实现对黑客的全面保护……即使使用访问令牌或任何东西,一个特定用户仍然可以操作
POST
数据。