填补查询字符串下拉列表 [英] fill dropdown list by querystring

查看:112
本文介绍了填补查询字符串下拉列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有下拉列表,我想通过特定条件的数据来填充它
我用这个code,但它是,T行之有效

 < CS>
保护无效的Page_Load(对象发件人,EventArgs的发送)
    {
        Page.Title =ThumbnailViewPage;    如果(的Request.QueryString [CATEGORY_ID]!= NULL)
    {
        使用(SqlConnection的CON = Connection.GetConnection())
        {            的SqlCommand的COM =新的SqlCommand(GetProducFamilyTP2CON);
            Com.CommandType = CommandType.StoredProcedure;
            Com.Parameters.Add(Parameter.NewInt(@ CATEGORY_ID的Request.QueryString [CATEGORY_ID]));
            SqlDataReader的DR = Com.ExecuteReader();
            如果(DR.Read())
            {
                DDlProductFamily.DataTextField = DR [名称]的ToString()。
                DDlProductFamily.DataValueField = DR [ProductCategory_Id]的ToString()。
            }
        }    }
    否则,如果(的Request.QueryString [ProductCategory_Id]!= NULL)
    {
        使用(SqlConnection的CON = Connection.GetConnection())
        {            的SqlCommand的COM =新的SqlCommand(GetProducFamilyTP3CON);
            Com.CommandType = CommandType.StoredProcedure;
            Com.Parameters.Add(Parameter.NewInt(@ ProductCategory_Id的Request.QueryString [ProductCategory_Id]));
            SqlDataReader的DR = Com.ExecuteReader();
            如果(DR.Read())
            {
                DDlProductFamily.DataTextField = DR [名称]的ToString()。
                DDlProductFamily.DataValueField = DR [ProductCategory_Id]的ToString()。
            }
        }    }

}

 < ASP:的UpdatePanel ID =UpdatePanel3=服务器>
                                        <&的ContentTemplate GT;
                                            < ASP:DropDownList的ID =DDlProductFamily=服务器
                                                ondatabound =DDlProductFamily_DataBound的onload =DDlProductFamily_Load
                                                onselectedindexchanged =DDlProductFamily_SelectedIndexChanged>
                                            < / ASP:DropDownList的>
                                        < /&的ContentTemplate GT;
                                        <&触发器GT;
                                            < ASP:AsyncPostBackTrigger控件ID =DDlProductFamily事件名称=的SelectedIndexChanged/>
                                        < /触发器>
                                    < / ASP:的UpdatePanel>


解决方案

尝试添加

  DDlProductFamily.DataSource = DR;
DDlProductFamily.DataBind();

 如果(DR.Read()){
   DDlProductFamily.DataSource = DR;
   DDlProductFamily.DataTextField =姓名;
   DDlProductFamily.DataValueField =ProductCategory_Id;
   DDlProductFamily.DataBind();
}

I had drop down list and I want to fill it with data by specific condition i used this code but it was,t worked well

<cs>
protected void Page_Load(object sender, EventArgs e)
    {
        Page.Title = "ThumbnailViewPage";

    if (Request.QueryString["Category_Id"] != null)
    {
        using (SqlConnection Con = Connection.GetConnection())
        {

            SqlCommand Com = new SqlCommand("GetProducFamilyTP2", Con);
            Com.CommandType = CommandType.StoredProcedure;
            Com.Parameters.Add(Parameter.NewInt("@Category_Id", Request.QueryString["Category_Id"]));
            SqlDataReader DR = Com.ExecuteReader();
            if (DR.Read())
            {
                DDlProductFamily.DataTextField = DR["Name"].ToString();
                DDlProductFamily.DataValueField = DR["ProductCategory_Id"].ToString();
            }
        }

    }
    else if (Request.QueryString["ProductCategory_Id"] != null)
    {
        using (SqlConnection Con = Connection.GetConnection())
        {

            SqlCommand Com = new SqlCommand("GetProducFamilyTP3", Con);
            Com.CommandType = CommandType.StoredProcedure;
            Com.Parameters.Add(Parameter.NewInt("@ProductCategory_Id", Request.QueryString["ProductCategory_Id"]));
            SqlDataReader DR = Com.ExecuteReader();
            if (DR.Read())
            {
                DDlProductFamily.DataTextField = DR["Name"].ToString();
                DDlProductFamily.DataValueField = DR["ProductCategory_Id"].ToString();
            }
        }

    }

}

                                    <asp:UpdatePanel ID="UpdatePanel3" runat="server">
                                        <ContentTemplate>
                                            <asp:DropDownList ID="DDlProductFamily" runat="server" 
                                                ondatabound="DDlProductFamily_DataBound" onload="DDlProductFamily_Load" 
                                                onselectedindexchanged="DDlProductFamily_SelectedIndexChanged">
                                            </asp:DropDownList>
                                        </ContentTemplate>
                                        <Triggers>
                                            <asp:AsyncPostBackTrigger ControlID="DDlProductFamily" EventName="SelectedIndexChanged" />
                                        </Triggers>
                                    </asp:UpdatePanel>

解决方案

Try adding

DDlProductFamily.DataSource = DR;
DDlProductFamily.DataBind();

or

if (DR.Read()) {
   DDlProductFamily.DataSource = DR;
   DDlProductFamily.DataTextField = "Name";
   DDlProductFamily.DataValueField = "ProductCategory_Id";
   DDlProductFamily.DataBind();
}

这篇关于填补查询字符串下拉列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆