gpt4 book ai didi

c# - 如何在 .NET ASP C# 中正确使用 QueryString?

转载 作者:太空狗 更新时间:2023-10-29 15:35:33 26 4
gpt4 key购买 nike

我有一个使用 ASP 和 C# 的 .NET 网络表单。此表单有一个 DropDownList 控件,其 AutoPostBack 属性设置为 True

当用户从 DropDownList 中选择一个项目时,会显示表单上的一些数据。

现在,我希望用户能够通过复制带有 QueryString 的 URL 来共享他或她的数据,例如 http://www.site.com?ProdID=1234 .

我已经做了以下尝试来实现这一点:

protected void Page_Load(object sender, EventArgs e)
{
// check if the URL has a QueryString item if yes the use it.
if (!String.IsNullOrEmpty(Request.QueryString["ProdID"]))
{
ddlProduct.SelectedIndex = ddlProduct.Items.IndexOf(ddlProduct.Items.FindByValue(Request.QueryString["ProdID"]));
}
}

此代码的问题在于,当用户从 DropDownList 中选择不同的项目时,他或她选择的项目会被 Page_Load() 覆盖,因为我们现在在 URL 上有一个 QueryString。 (我构建了 QueryString,然后将 Redirect() 方法用于事件的同一页面)

所以我的问题是:当用户更改 DropDownList 中的所选项目并在所选项目的表单上显示正确的数据时,是否可以继续动态更改 URL 的查询字符串?

我觉得这就像先有鸡还是先有蛋的问题。

谢谢。

最佳答案

检查页面是否正在回发到服务器,以及您现有的逻辑,如下所示:

if(!IsPostBack && !String.IsNullOrEmpty(Request.QueryString["ProdID"]))
{
ddlProduct.SelectedIndex = ddlProduct.Items.IndexOf(ddlProduct.Items.FindByValue(Request.QueryString["ProdID"]));
}

关于c# - 如何在 .NET ASP C# 中正确使用 QueryString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19987952/

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