Pab*_*tor 5 c# asp.net webpage response.redirect request.querystring
我使用ASP和C#在.NET中有一个Web表单.此表单具有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"]));
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码的问题在于,当用户从DropDownList中选择一个不同的项时,他或她选择的项被Page_Load()覆盖,因为我们现在在URL上有一个QueryString.(我构建QueryString,然后使用Redirect()方法到事件的同一页面)
所以我的问题是:当用户从DropDownList更改所选项目并在表单上显示所选项目的正确数据时,是否可以动态更改URL的查询字符串?
我觉得这就像鸡肉或鸡蛋问题.
谢谢.
Kar*_*son 10
检查页面是否与现有逻辑一起回发到服务器,如下所示:
if(!IsPostBack && !String.IsNullOrEmpty(Request.QueryString["ProdID"]))
{
ddlProduct.SelectedIndex = ddlProduct.Items.IndexOf(ddlProduct.Items.FindByValue(Request.QueryString["ProdID"]));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11189 次 |
| 最近记录: |