【问题标题】:Assign a value to drop down list on page_load为 page_load 上的下拉列表分配一个值
【发布时间】:2017-07-07 19:24:23
【问题描述】:

我正在尝试为 page_load 上的下拉列表分配值,但在页面加载时它不会自动被选中。但是当我尝试从下拉列表中选择另一个值时,分配给它的值最初会被选中。我认为这与 PostBack 有关,我的代码是,

if (!string.IsNullOrEmpty(Request.QueryString["selectedReg"]))
    {
        string selectedReg = Request.QueryString["selectedReg"];
        ddlVehicleReg.SelectedIndex = ddlVehicleReg.Items.IndexOf(ddlVehicleReg.Items.FindByText(selectedReg));
    }

如果我使用 if(!IsPostBack) 仍然没有运气,有什么想法吗?提前非常感谢

【问题讨论】:

    标签: c# asp.net dropdown


    【解决方案1】:

    您编写的代码块正在运行。无需检查回发。小心你的querystring。我的测试看起来像这些图片。

    在您发表评论后,我更改了dropdown 项目列表。它正在从数据库中获取数据。而我在Page_Load中调用了这个方法

    protected void Page_Load(object sender, EventArgs e)
        {
            FillDropDown();
    
            if (!string.IsNullOrEmpty(Request.QueryString["selectedReg"]))
            {
                string selectedReg = Request.QueryString["selectedReg"];
                ddlVehicleReg.SelectedIndex = ddlVehicleReg.Items.IndexOf(ddlVehicleReg.Items.FindByText(selectedReg));
            }
        }
    
       protected void FillDropDown()
        {
            using (SqlConnection con= new SqlConnection("server=.;database=StackTest;integrated security=true") )
            {
                SqlDataAdapter adp = new SqlDataAdapter("select * from Test", con);
    
                DataTable dt = new DataTable("Test");
                adp.Fill(dt);
    
                ddlVehicleReg.DataValueField = "Id";
                ddlVehicleReg.DataTextField = "Value";
                ddlVehicleReg.DataSource = dt;
                ddlVehicleReg.DataBind();
            }
        }
    

    【讨论】:

    • 嗨@Murat 非常感谢您的回答。我正在从数据源填充 ddlVehicleReg。如果按照上面所示添加项目,则它可以工作。但不是当它通过数据源填充时。知道为什么吗?
    • @KMR 好的,我已经更改了我的帖子。它也在工作。请提供更多关于你之前做过的事情的信息。
    • 非常感谢。现在工作正常。你是对的。需要在 page_load 中重新分配 ddl 的数据源。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-20
    • 2018-09-16
    相关资源
    最近更新 更多