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 に答える