在页面之间传递变量,并在 asp.net 中基于它获得结果
本文关键字:net asp 于它获 结果 并在 之间 变量 | 更新日期: 2023-09-27 18:30:36
上一页
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());
}
在下一页上输入会话.aspx
我想使用session_id
从基于mssql数据库的session_id
返回结果session_name
。然后我想获取与session_id
对应的session_name
值,并使用以下JS方法调用该值:
document.getElementById('session_name').value).
一些想法如何做到这一点。
我不完全确定您要实现的目标(例如,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>