0

我创建了一个页面。其中有 2 个菜单。一个用于通过学生,另一个用于失败学生。通过学生的单击显示学生 ID、滚动编号、批次和网格中的所有主题列表。网格列是动态变化的。Onclick 失败的学生只显示 rollno、batch 和失败的科目。Inrowbound 事件动态添加到 studentid 的超链接以传递学生。单击超链接,打开新窗口。所以我以查询字符串的形式传递 studentid 以获取所选学生的所有详细信息并隐藏窗口的工具栏。管理员可以修改该记录。我使用了 studentid以 qurystring 的形式。我想在会话中使用该值。我该怎么做?在 rowbound 事件中,我添加了这样

if(e.Rows.Cell.Count == 6)
{
 Hyperlink hy = new hyperlink();
 e.Row.Cell[0].Controls.Add(hy);
 hy.Attributes.Add("Onclick","Return showdetail('"+e.Row.cell[0].Text+"')")
}

// 在 aspx 页面中 -- 在 javascript 中

<script type = "text/javascript">
showdetail(Studentid)
{
  Window.Open("samplepage.aspx?id="+Studentid+","win32","toolbar=no,resizeable=1");
}
</script>
4

2 回答 2

1
<script type = "text/javascript">
showdetail(Studentid)
{
<%=Session["sid"]=Studentid %>
  Window.Open("samplepage.aspx?id="+Studentid+","win32","toolbar=no,resizeable=1");
}
</script>
于 2013-10-21T09:45:54.623 回答
0

您需要进行ajax调用。为简单起见,我在这里使用 jquery 文件。只需要在标题部分包含 jquery.1.9.1.js ,您就可以修改您的showdetail功能,如下所示

ASPX/JS 中的 AJAX 调用

Showdetail(Studentid)
{
      $.ajax({
               type: "POST",
                url: "Home.aspx/AssignSession",
                data: "{'stdid':'" + Studentid + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(res) {
if(res.d=="Success")
                      window.Open("samplepage.aspx","win32","toolbar=no,resizeable=1");
                }
            });

代码后面的页面方法

 [WebMethod]
        public static string AssignSession(string stdid)
        {
HttpContext.Current.Session["stdid"]=stdid;
return "Success";
    }

Session["stdid"]现在,您可以在应用程序中的任何位置(samplepage.aspx)访问此会话变量。这将满足您的要求。

于 2013-10-21T07:35:23.323 回答