0

上一页

test.Controls.Add(GetButton(thisReader["session_id"].ToString(), "Join Session"));


 protected void Button_Click(object sender, CommandEventArgs e)
        {
            Response.Redirect("EnterSession.aspx?session=" + e.CommandArgument.ToString());
        }

在下一页 EnterSession.aspx

我想使用来从基于 ms sql 数据库的session_id返回结果。然后我想获取对应的值并使用这个 JS 方法调用该值:session_namesession_idsession_namesession_id

document.getElementById('session_name').value).

一些想法如何做到这一点。

4

1 回答 1

0

我不完全确定您要实现的目标(例如,id 为“session_name”的元素是什么/在哪里?),但我认为您需要在 EnterSession.aspx 页面后面的代码中使用以下内容:

protected string _SessionName = null;
public string SessionName
{
    get
    {
        if (null == _SessionName)
        {
            using (var connection = new SqlConnection("connString"))
            {
                connection.Open();
                using (var command = new SqlCommand(" SELECT session_name FROM Sessions WHERE session_id = @SessionId", connection))
                {
                    command.Parameters.Add("@SessionId", SqlDbType.Int);
                    command.Parameters["@SessionId"].Value = Convert.ToInt32(Request.QueryString["session"]);

                    using (var reader = command.ExecuteReader())
                    {
                        if (reader.Read())
                        {
                            _SessionName = reader.GetString(0);
                        }
                        else
                        {
                            throw new ArgumentException("Invalid session id");
                        }
                    }
                }
            }
        }
        return _SessionName;
    }
    }

然后在 EnterSession.aspx 页面的标记中,您将需要如下内容:

<input type="hidden" id="session_name" />
<script type="text/javascript">
    document.getElementById('session_name').value = '<%= this.SessionName %>';
</script>
于 2012-04-08T11:00:42.153 回答