【问题标题】:Server side session in asp.netasp.net 中的服务器端会话
【发布时间】:2015-06-23 05:31:35
【问题描述】:

我想在客户端的服务器端会话中设置一个值,并且需要在 Web 服务中访问该会话,所以我在下面尝试了

在客户端:

//Set the server side session like below  
 var vr_="demo.png";     
'<%Session["path"] = "' + vr_ + '"; %>';

//In alert,checked the server side session value like below
 alert('<%=Session["path"] %>');

警报中的值很好,我打电话给 Web 服务,但是当尝试访问 Web 服务中的会话时 我得到以下会话值

' + vr_ + ' 不是原始值 "demo.png"

请在下面找到源代码,

在 Javascript 中:

  var vr_="G:\\13-06-15-demo\\app1\\uploads\\demo.png"

在 Jquery ajax 请求中,我调用了如下的 web 服务

 $.ajax({
        url: "../webservice/email.asmx/senmail",
        data: "{'tomail': '" + tomail + "','subject': '" + subject + "','message': '" + message + "','attachment': '" + vr_+ "'}",           
        dataType: "json",
        type: "POST",
        contentType: "application/json; charset=utf-8",

在web服务中,方法如下

 public bool senmail(string toMailId, string subject, string message,string attachment)
    {

【问题讨论】:

  • 您根本无法从客户端设置会话。
  • 在这种情况下,我需要将一个图像路径发送到 Web 服务,所以甚至尝试传入像这样的参数 "G:\\13-06-15-demo\\app1\\uploads \\demo.png" 但出现无法识别的转义错误
  • @NandhaKumar 你能贴出你正在使用的代码吗?
  • 尽量不要加倍`\`。
  • 也尝试再次将数据保存为数组,然后使用 JSON.stringify 生成 JSON 字符串,如本例中的 stackoverflow.com/questions/6323338/… 。我也认为它使代码更具可读性。

标签: asp.net web-services session


【解决方案1】:

你有一个引号问题,像这样解决它:

<% Session["path"] = "'" + vr_ + "'"; %>

编辑 1:
Javascript 和 ASP.NET 不一样,所以不能访问变量,所以不能在客户端做。您必须向服务器发送一些内容,例如使用 Javascript 的 POST 请求或更容易使用 jQuery。

这里有一些资源:

使用 AJAX 和 Javascript:
http://www.w3schools.com/php/php_forms.asp http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp

jQuery AJAX: http://api.jquery.com/jQuery.ajax/
http://api.jquery.com/jQuery.post/

编辑 2:
答案是创建一个普通的 javascript 对象/数组,然后使用 JSON.stringify() 将其转换为 JSON,如下例所示: Jquery Ajax Posting json to webservice.

JSON.stringify():https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

【讨论】:

  • 不,我得到的 vr_ 在当前上下文中不存在
  • 错过了javascript和ASP.NET不一样,所以不能访问变量,所以不能在客户端做。您必须向服务器发送一些内容,例如使用 javascript 的 post 请求或更容易使用 jQuery。
  • 你能看到我给@john saunders 的评论并帮助我
猜你喜欢
  • 2012-04-15
  • 1970-01-01
  • 2015-10-02
  • 2018-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多