繁体   English   中英

如何将值传递给asp.net中的dropdownlist?

[英]How to pass value to a dropdownlist in asp.net?

我在gridview中有一个下拉列表,我的gridview有一个数据表数据源,当我尝试将值传递给数据源时,它不处理该值。

 SqlCommand com2 = new SqlCommand("select MRPFABRIC.GoodForHow, MRPFABRIC.MrpQty, allowance, ArticleFabricAssign.Consumption,(select SUBDETAILS.Description from SUBDETAILS where SubDetailsID = MRPFABRIC.ColorName) as Color,(select SUBDETAILS.Description from SUBDETAILS where SubDetailsID = MRPFABRIC.FabricName) as Fabric from MRPFABRIC join ARTICLE on ARTICLE.ControlNo = MRPFABRIC.ControlNo join ARTICLEFABRICASSIGN on ARTICLEFABRICASSIGN.ArtFabID = MRPFABRIC.ArtFabId join FABRIC on FABRIC.FabricID = ARTICLEFABRICASSIGN.FabricID join mrp on MRP.MRPNo = MRPFABRIC.MRPNo where MRP.MRPNo =  @fmno and ARTICLE.ArticleNo = @articleno", con);
        com2.Parameters.AddWithValue("@fmno", txtMRPNo.Text);
        com2.Parameters.AddWithValue("@articleno", ddlArtNo.SelectedItem.Text);
        DataTable dt2 = new DataTable();
        SqlDataAdapter adapt = new SqlDataAdapter(com2);
        adapt.Fill(dt2);
        GridView1.DataSource = dt2;
        GridView1.DataBind();

价值的传递在这里

 DropDownList ddlfab = (DropDownList)GridView1.Rows[rowIndex].Cells[0].FindControl("ddlConst");
                        DropDownList ddlcol = (DropDownList)GridView1.Rows[rowIndex].Cells[1].FindControl("ddlColor");
                        TextBox txtgfhm = (TextBox)GridView1.Rows[rowIndex].Cells[2].FindControl("TextBox5");
                        TextBox txtconsump = (TextBox)GridView1.Rows[rowIndex].Cells[3].FindControl("TextBox6");
                        TextBox txtallow = (TextBox)GridView1.Rows[rowIndex].Cells[4].FindControl("TextBox7");
                        Label lblmrpq = (Label)GridView1.Rows[rowIndex].Cells[5].FindControl("Label1");

                        DataRow row2 = dt2.Rows[0];
                        ddlfab.SelectedItem.Text = dt2.Rows[i][5].ToString();
                        txtgfhm.Text = dt2.Rows[i][0].ToString();
                        txtconsump.Text = dt2.Rows[i][3].ToString();
                        txtallow.Text = dt2.Rows[i][2].ToString();
                        lblmrpq.Text = dt2.Rows[i][1].ToString();
                        ddlcol.Text = dt2.Rows[i][4].ToString();

ddlcol是不处理值的人。 我尝试了ddlcol.SelectedItem.Text,但尽管我尝试传递的行具有值,但它返回null引用异常。 ddlCol.SelectedValue也不会返回任何内容。

尝试这个

        ddlcol.DataSource= dt2            
        ddlcol.DataTextField = "UserID";
        ddlcol.DataValueField = "UserID";
        ddlcol.DataBind();

您真的需要检查此链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM