【问题标题】:accessing session variables from code behind in javacscript从javascript中的代码访问会话变量
【发布时间】:2018-05-11 10:42:39
【问题描述】:

我已经在后端(ascx.cs 页面后面的代码)中设置了会话变量,我想在 javascript 中的复选框选中事件中访问相同的值..

这是我在 javascript 函数中的代码

 $(document).ready(function () {
    $('#<%= gvPRCertInfo.ClientID %> input[type="checkbox"]').change(function () {

        var background1 = null;
        background1 = '<%= Session["FriendlyData"] %>';
        alert(background1); // i am getting this value 'system.data.dataset'
        if ($(this).is(':checked')) {
            var signValue = 
     $(this).closest('tr').children('td:eq(4)').html();

        }
    });
 });

这个变量 是一个数据集,我在后端分配了一些值,现在我想在上面的 js 函数中访问相同的值

当我发出警报时,我得到了 System.data.dataset 的价值,而我没有得到会话中的价值..

谁能帮忙看看如何在javascript函数中获取数据集的值...

提前多谢

【问题讨论】:

标签: javascript c# asp.net .net session


【解决方案1】:

您需要以某种方式对您的 codeback 对象进行字符串化。例如,

//.aspx.cs
DataSet ds = GetMyDataSet();
Session["dataset"] = ds;

//.aspx
<script>
var ds = '<%=((DataSet)Session["dataset"]).GetXml()%>';
</script>

【讨论】:

  • 感谢您的支持..我已经使用隐藏变量来完成这项工作
  • @EnigmaState 如果您觉得这个答案有用,可以接受。
  • 对不起我没有使用你的解决方案..我把它设为一个隐藏变量,我在后面的代码中赋值,在 javascript 文件中访问它
  • 代码隐藏是最好的解决方案。在这种情况下,我使用var a = '&lt;asp:Literal runat="server" ID="ltrJsVal" /&gt;';(并在代码隐藏中设置.Text)。问题是我回答了 OP 吗?
猜你喜欢
  • 2011-12-29
  • 2011-11-25
  • 1970-01-01
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-23
相关资源
最近更新 更多