繁体   English   中英

如何将会话值传递给外部js文件

[英]how to pass session value to external js file

我有两页upl.aspx和datalist.aspx

我在加载datalist.aspx的upl.aspx页中有iframe

现在我在单选按钮上创建一个会话,单击哪个在数据列表中,我想将此会话值传递给外部js文件,以便现在我在uploo.aspx页面中有一个函数Hidee()可以显示其值

这个怎么做??

这是我的up1.aspx代码

<a onclick="Hidee();" style="cursor: pointer">close</a></div>

<iframe id="frame1" frameborder="0" name="frame1" src="datalist.aspx"></iframe>

这是从datalist.aspx,其中我有我的数据列表

<td align="center" > 


                <asp:RadioButton ID="rdb" runat="server"     CssClass="radio" AutoPostBack="True" OnCheckedChanged="rdb_click" /> 


                <asp:HiddenField ID="HiddenField1" runat="server" Value = '<%#Eval("FileName")%>' /> 
                </td>
                </tr>  

这是datalist.cs的代码

public void rdb_click(object sender, EventArgs e)
    {
        string value = "";
        for (int i = 0; i < DataList1.Items.Count; i++)
        {
            RadioButton rdb1;
            rdb1 = (RadioButton)DataList1.Items[i].FindControl("rdb");
            if (rdb1 != null)
            {
                if (rdb1.Checked)
                {
                    HiddenField hf = (HiddenField)DataList1.Items[i].FindControl("HiddenField1");
                    value = hf.Value.ToString();
                }
            }
        }
        Session["Background1"] = value;
        Label2.Text = value;

    }

在我的外部javascript中,我有函数Hidee();

function Hidee()
{
var div2 = document.getElementById( "divframe1" ); 
div2.style.display = "none";
var div3 = document.getElementById( "aa" );
div3.style.display = "block";
var session ='<%= Session["Background1"] %>';
alert("you have selected" + session);
}

如果upl.aspxdatalist.aspx是两个不同的ASP.NET应用程序(托管在IIS中不同的应用程序池)的一部分,它不可能在它们之间共享会话。 可能的解决方法是将值作为url参数传递。


更新:

您不能在外部javascript文件中使用服务器端表达式。 您可以在aspx页面中声明一个全局变量,该变量将包含将在javascript文件中使用的值:

在aspx页面中:

<script type="text/javascript">
    var background = '<%= Session["Background1"] %>';
</script>

然后可以在javascript文件内的Hidee函数中使用background变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM