如何从下拉列表中提取userid [英] How do I extract userid from a dropdown list
问题描述
您好。我必须做一个表单来添加会议,我有用户名保存为cookie并放入标签,我想将联系人姓名添加到下拉列表,选择联系人姓名,但检索de contactid将其用作外键。 />
我试图添加
Hello. I have to do a form to add meetings, I have userid saved as cookie and put in a label and i want to add contacts name to a dropdown list, select the contact name but retrieve de contactid to use it as foreign key.
I tried to add
cmd.Parameters.AddWithValue("@FC", DDL.DataValueField);
但我得
Conversion failed when converting the nvarchar value 'Id' to data type int.
抱歉我的坏英语,希望你理解并感谢你的帮助!
我的尝试:
< asp:DropDownList ID =DDLrunat =serverDataSourceID =SqlDataSource2DataTextField =numeDataValueField =IdOnSelectedIndexChanged =DDL_Selected IndexChangedOnTextChanged =DDL_Change>
< asp:SqlDataSource ID =SqlDataSource2runat =serverConnectionString =<%$ ConnectionStrings:BazadedateConnectionString1 %>中SelectCommand =SELECT [nume],[FKuserID],[Id] FROM [Contacte] WHERE([FKuserID] = @FKuserID)>
< SelectParameters>
< asp:ControlParameter ControlID =userName =FKuserIDPropertyName =TextType =Int32/>
< / SelectParameters>
protected void MetodaAdaugareIntalnire(object sender,EventArgs e)
{
con.Open();
SqlCommand cmd =新的SqlCommand(INSERT INTO Intalniri(Data,Ora,Locatia,FKcontactID,FKuserID)VALUES(@ DT,@ OR,@ LO,@ FC,@ FU),con);
cmd.Parameters.AddWithValue(@ DT,txtData.Text);
cmd.Parameters.AddWithValue(@ OR,txtOra .Text);
cmd.Parameters.AddWithValue(@ LO,txtLocatia.Text);
cmd.Parameters.AddWithValue(@ FC,DDL.DataValueField);
cmd.Parameters.AddWithValue(@ FU,user.Text);
cmd.ExecuteNonQuery();
con.Close();
Sorry for my bad english, hope you understand and thank you for your help!
What I have tried:
<asp:DropDownList ID="DDL" runat="server" DataSourceID="SqlDataSource2" DataTextField="nume" DataValueField="Id" OnSelectedIndexChanged="DDL_SelectedIndexChanged" OnTextChanged="DDL_Change">
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:BazadedateConnectionString1 %>" SelectCommand="SELECT [nume], [FKuserID], [Id] FROM [Contacte] WHERE ([FKuserID] = @FKuserID)">
<SelectParameters>
<asp:ControlParameter ControlID="user" Name="FKuserID" PropertyName="Text" Type="Int32" />
</SelectParameters>
protected void MetodaAdaugareIntalnire(object sender, EventArgs e)
{
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO Intalniri (Data, Ora, Locatia,FKcontactID,FKuserID) VALUES (@DT,@OR,@LO,@FC,@FU)", con);
cmd.Parameters.AddWithValue("@DT", txtData.Text);
cmd.Parameters.AddWithValue("@OR", txtOra.Text);
cmd.Parameters.AddWithValue("@LO", txtLocatia.Text);
cmd.Parameters.AddWithValue("@FC", DDL.DataValueField);
cmd.Parameters.AddWithValue("@FU", user.Text);
cmd.ExecuteNonQuery();
con.Close();
推荐答案
ConnectionStrings:BazadedateConnectionString1%>SelectCommand =SELECT [nume],[FKuserID],[Id] FROM [Contacte] WHERE([FKuserID] = @FKuserID)>
< SelectParameters> ;
< asp:ControlParameter ControlID =userName =FKuserIDPropertyName =TextType =Int32/>
< / SelectParameters>
protected void MetodaAdaugareIntalnire(对象发送者,EventArgs e)
{
con.Open();
SqlCommand cmd = new SqlCommand(INSERT INTO Intaln iri(Data,Ora,Locatia,FKcontactID,FKuserID)VALUES(@ DT,@ OR,@ LO,@ FC,@ FU),con);
cmd.Parameters.AddWithValue(@ DT,txtData.Text);
cmd.Parameters.AddWithValue(@ OR,txtOra.Text);
cmd.Parameters.AddWithValue(@ LO,txtLocatia.Text);
cmd.Parameters.AddWithValue(@ FC,DDL.DataValueField);
cmd.Parameters.AddWithValue(@ FU,user.Text);
cmd.ExecuteNonQuery();
con.Close();
ConnectionStrings:BazadedateConnectionString1 %>" SelectCommand="SELECT [nume], [FKuserID], [Id] FROM [Contacte] WHERE ([FKuserID] = @FKuserID)">
<SelectParameters>
<asp:ControlParameter ControlID="user" Name="FKuserID" PropertyName="Text" Type="Int32" />
</SelectParameters>
protected void MetodaAdaugareIntalnire(object sender, EventArgs e)
{
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO Intalniri (Data, Ora, Locatia,FKcontactID,FKuserID) VALUES (@DT,@OR,@LO,@FC,@FU)", con);
cmd.Parameters.AddWithValue("@DT", txtData.Text);
cmd.Parameters.AddWithValue("@OR", txtOra.Text);
cmd.Parameters.AddWithValue("@LO", txtLocatia.Text);
cmd.Parameters.AddWithValue("@FC", DDL.DataValueField);
cmd.Parameters.AddWithValue("@FU", user.Text);
cmd.ExecuteNonQuery();
con.Close();
cmd.Parameters.AddWithValue("@FC", DDL.DataValueField);
使用
use
cmd.Parameters.AddWithValue("@FC", DDL.SelectedValue);
DataValueField
wi ll给你字符串' ID
',它不会返回选择的Id
如果上述方法无效,请尝试 DDL.SelectedItem.Value
DataValueField
will gives you the string 'ID
', it wont return the selected Id
if the above doesnt work, try DDL.SelectedItem.Value
这篇关于如何从下拉列表中提取userid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!