【问题标题】:How to set the .net Public Property value from Javascript?如何从 Javascript 设置 .net 公共属性值?
【发布时间】:2015-01-19 09:27:15
【问题描述】:

代码隐藏:

SessionData("UserRole") = "Manager"

SessionData 是Public Property SessionData(sessionVariableName As String) As String

是否可能通过 Javascript 将 SessionData("UserRole") 值设置为 "Supervisor"

【问题讨论】:

  • javascript中没有私有或公共的概念,只有范围?
  • 您需要一个 .NET 页面,您将使用 AJAX 从 JavaScript 调用该页面来设置会话。这是我知道哪些客户端代码可以与服务器端代码交互的唯一方法
  • 我真的看不出有什么好的理由说明您要实现的目标...从 JavaScript 设置用户角色?我不这么认为......告诉我们你想通过这样做来完成什么?也许有更好的解决方案。

标签: javascript c# jquery .net vb.net


【解决方案1】:

无法直接使用客户端代码在服务器端设置变量的值。但是,正如一些评论者所建议的那样,您可以使用 Ajax 请求将数据发送到服务器并使用通用处理程序页面之类的东西处理传入数据。这可以使用与大多数现代浏览器一起打包的 XMLHttpRequest 类来完成。或者,您可以使用像 jQuery 这样的库,其中包含一个 .ajax() method,它允许您发送 Ajax 请求而无需担心您使用的特定浏览器。

在服务器端,您将创建一个通用处理程序页面 (.ashx),作为 Ajax 请求的目标 URL。您包含在使用 jQuery.ajax 方法传递的数据对象中的每个属性都将通过 HttpContext.Request.Params 集合在处理程序页面中可用,方法是向 Params 集合提供一个键,例如 context.Request.Params["someAjaxDataPropertyName "]。

如果您确实使用这种方法,您显然希望在服务器端为每个传入的 Ajax 请求包含身份验证和授权代码,否则您的任何用户都可以轻松地制作自己的 Ajax 请求来升级他们的权限,无论您是否想要他们到与否。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 2015-04-18
    • 2016-11-26
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    相关资源
    最近更新 更多