I have a DropdownList
<asp:DropDownList ID="ddlComponentaActivitate" class="form-control form-control-sm" Style="background-color: #FFFFE0; font-size: 12px;" runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ddlComponentaActivitate_SelectedIndexChanged" ClientIDMode="Static">
<asp:ListItem Enabled="true" Text="Componenta sistemului de munca" Value="-1"></asp:ListItem>
<asp:ListItem Value="1" Text="Executant"></asp:ListItem>
<asp:ListItem Value="3" Text="Sarcina de munca"></asp:ListItem>
<asp:ListItem Value="2" Text="Mijloace de productie"></asp:ListItem>
</asp:DropDownList>
Based on the selected text I populate another ddl with
protected void ddlComponentaActivitate_SelectedIndexChanged(Object sender, EventArgs e)
{
ddlFactorRisc.Items.Clear();
ddlFactorRisc.Items.Add("Factor de risc");
using (SqlConnection conn = new SqlConnection(connString))
{
string sqlQuery = "SELECT FactorRisc, FRFID FROM tblFactoriRiscFactori WHERE FRCID = @FRCID ORDER BY FactorRisc";
using (SqlCommand cmd = new SqlCommand(sqlQuery, conn))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@FRCID", ddlComponentaActivitate.SelectedItem.Value);
SqlDataAdapter da = new SqlDataAdapter(cmd);
conn.Open();
DataSet ds = new DataSet();
da.Fill(ds);
ddlFactorRisc.DataSource = ds.Tables[0];
ddlFactorRisc.DataBind();
conn.Close();
}
}
ActiveTAB.Value = "#TabEvaluare";
}
The second ddl on View with
<asp:DropDownList ID="ddlFactorRisc" class="form-control form-control-sm" Style="background-color: #FFFFE0; font-size: 12px;" runat="server" AutoPostBack="False"
DataTextField="FactorRisc" DataValueField="FRFID" AppendDataBoundItems="true" ClientIDMode="Static">
</asp:DropDownList>
But when I try to add data to table using FactorRisc as parameter
cmd.Parameters.AddWithValue("@FactorRisc", ddlFactorRisc.SelectedItem.Text);
I have error that say cannot add null. So it seems it will not get the value. Worth to mention I have 2 more ddl on page, one listed below
<asp:DropDownList ID="ddlGravitate" class="form-control form-control-sm" Style="background-color: #FFFFE0; font-size: 12px;" runat="server" AutoPostBack="False"
DataTextField="Gravitate" DataValueField="ClsGravitate" AppendDataBoundItems="true" ClientIDMode="Static">
</asp:DropDownList>
On screen data is visible but error on postback. Why?