gpt4 book ai didi

javascript - 如何在另一个aspx页面中通过URL获取值

转载 作者:行者123 更新时间:2023-11-28 18:32:45 24 4
gpt4 key购买 nike

我有一个基于母版页构建的表单,旨在搜索用户是否存在(在 SQL 数据库中)。如果提交表单后,sql 找到某个用户,那么它应该定向到一个新页面并显示该用户的详细信息。

我的主题是:如何在下一页中保存用户的 ID,以便仅对该用户执行“选择”操作,并显示他的详细信息。

我可以使用带有母版页的 javascript 吗?还是不推荐?

我的 C#/ASP.NET 代码是:

    protected void ClientSearch(object sender, EventArgs e)
{
int i;
string query;
con.Open();
sqlcomm.Connection = con;
query = "Select * FROM Cliente WHERE Cliente.nome='" + textboxclientname.Text + "'AND Cliente.apelido='" + textboxapelido.Text + "'";

sqlcomm.CommandText = query;
SqlDataReader dr;
dr = sqlcomm.ExecuteReader();
dr.Read();
if (dr.HasRows)
{
//new page
//At that page, user data may be displayed in textboxes, to be updated


}
else
{
//show error page
}

}

最佳答案

如果您要导航到单独的页面,则有很多选项可以在以下位置保留特定值:

  • session
  • Cookie
  • 查询字符串参数

其中任何一个都可以用来轻松存储值,然后在下一页或请求中访问它们。

使用 session 存储的示例

因此,在您的情况下,您希望将从数据库返回的值存储在这些元素之一中,然后在下一页上检索:

protected void ClientSearch(object sender, EventArgs e)
{
using(var con = new SqlConnection("{your-connection-string}"))
{
var query = "SELECT * FROM Cliente WHERE nome = @name AND apelido = @apelido";
using(var comm = new SqlCommand(query,con))
{
con.Open();
// User parameters to avoid SQL Injection
comm.Parameters.AddWithValue("@name",textboxclientname.Text);
comm.Parameters.AddWithValue("@apelido",textboxapelido.Text);
// Get your result and store it in the Session
var id = -1;
Int32.TryParse(Convert.ToString(comm.ExecuteScalar()),out id);
if(id != -1)
{
// Store your ID in the Session
Session["UserID"] = id;
// Go to your other page
Response.Redirect("OtherPage.aspx");
}
else
{
// No user was found, do something
}
}
}
}

然后在您的 OtherPage 中,只需按预期从 session 中读取它:

if(Session["UserID"] != null)
{
// Read the value from the Session
var userId = Convert.ToInt32(Session["UserID"]);
// Do something here
}

同样,您可以轻松创建一个 cookie 来在多个页面中保留您的 UserID 值,或者在导航到其他页面时将其附加到 QueryString 中:

Response.Redirect(String.Format("OtherPage.aspx?userId={0}",userId));

然后通过以下方式阅读:

var userId = Convert.ToInt32(Request["userId"]);

关于javascript - 如何在另一个aspx页面中通过URL获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37662368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com