gpt4 book ai didi

c# - 如何设置从后端C#代码中选择下拉列表?

转载 作者:太空宇宙 更新时间:2023-11-03 22:51:12 25 4
gpt4 key购买 nike

我的页面上有一个 DropDownListButton

在我选择下拉列表并单击按钮后,它将重定向到同一页面,并且必须在下拉列表中显示我在重定向之前选择的内容

这是我的代码

 protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
//ASPxGridView1.Visible = false;
}
else
{
if(Request.QueryString["ReqID"] != null)
ddlRequestNo.SelectedValue = Request.QueryString["ReqID"].ToString();
}
}

protected void btnSearch_Click(object sender, EventArgs e)
{
Response.Redirect("GPApproveCheque.aspx?ReqID="+ddlRequestNo.SelectedItem.Text.ToString());
}

当我看到 url 时,它显示的是第一次选择的内容

例如

如果我有值(value),在我的下拉列表中

111
222
333
444

1.一旦我选择222,我可以在地址栏中看到如下所示

http://localhost:55047/GPApproveCheque.aspx?ReqID=222

2.静态下拉列表显示111

3.当我第二次或第三次从下拉列表中选择不同的选项时,它会在 url 中显示相同的旧选项 222 并且下拉列表永远不会改变 111

更新

当我尝试下面的代码时,它抛出 System.NullReferenceException

ddlRequestNo.SelectedIndex = ddlRequestNo.Items.IndexOf(ddlRequestNo.Items.FindByText(Request.QueryString["ReqID"].ToString())); 

它为 ReqID 返回 null。这怎么可能,因为,我正在传递像 "GPApproveCheque.aspx?ReqID="+ddlRequestNo.SelectedItem.Text.ToString()

这样的参数

页面加载函数在接收参数之前执行

最佳答案

您的 Page_Load 应该如下所示,因为您在点击按钮时重定向到页面,因此页面会再次加载,您的值分配应该在 !IsPostback block 中完成。

protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
if(Request.QueryString["ReqID"] != null)
ddlRequestNo.SelectedValue = Request.QueryString["ReqID"].ToString();
}
}

关于c# - 如何设置从后端C#代码中选择下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47235724/

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