获取下拉列表选项的值显示为文本框

问题描述:

我已经使用这个代码把选项的下拉列表从数据库:获取下拉列表选项的值显示为文本框

if (!IsPostBack) 
    {pageloaddata.retrievetbldata("Select EmpId, LastName+', '+FirstName+' '+MiddleName AS EmployeeName from Employee"); 
     DropListEmployeeName.DataSource = pageloaddata.SQLTable; 
     DropListEmployeeName.DataTextField = "EmployeeName"; 
     DropListEmployeeName.DataValueField = "EmpID"; 
     DropListEmployeeName.DataBind(); 
     DropListEmployeeName.Items.Insert(0, "Select") 
} 

所以员工姓名的值必须为他们的雇员ID( EmpID)

现在我想要发生的是,如果用户选择了员工,selectedValue(这是EmpID)必须显示在文本框中。这里是很少的代码创建和不工作,这可能是很容易给别人,我知道,请帮助初学者在这里谢谢:)

protected void DropListEmployeeName_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    string empSelected = DropListEmployeeName.SelectedValue.ToString(); 
    employID.Text = empSelected; 
} 

注:的EmpID在数据库实际上是一个int,它的问题如果我把它称为字符串?如果是,请建议最佳代码

+0

? –

+0

在这一行放置了断点'string empSelected = DropListEmployeeName.SelectedValue.ToString();'并检查你在那里得到了什么值。它是空串吗? – woodykiddy

+0

@woodykiddy我认为这是假设从下拉列表中获取Selected选项的值,并将其放入变量:empSelected。例如,我在列表中选择了wolfQueen,其值为123. 123现在应该显示为雇主ID,即文本框。 – wolfQueen

如果您想在更改时使用Jquery捕获DropDown的值,请查看此示例,我制作了click here或运行下面的代码段。

$(document).ready(function() { 
 

 
    $("#SelectId").change(function() { 
 
     
 
     var selectObj = $(this); 
 
     
 
     $("#inputID").val(selectObj.val()); 
 
    
 
    }); 
 

 
});
<html> 
 
<head> 
 
<script src="https://code.jquery.com/jquery-3.1.0.js"></script> 
 
</head> 
 

 
<body> 
 

 
<select name="mySelect" id="SelectId"> 
 
    <option value="FirstOption">First Option</option> 
 
    <option value="SecondOption">Second Option</option> 
 
    <option value="ThirdOption">Third Option</option> 
 
    <option value="FourthOption">Fourth Option</option> 
 
</select> 
 

 
<input id="inputID" type="text" name="sampleText" /> 
 

 
</body> 
 

 
</html>

但是,如果你真的想用您的下拉控件回发的方法试试这个。

<asp:DropDownList ID="DropListEmployeeName" runat="server" AutoPostBack="True" 
    onselectedindexchanged="DropListEmployeeName_SelectedIndexChanged"> 
</asp:DropDownList> 
+0

问题已解决!谢谢! – wolfQueen

+0

感谢您将它标记为答案。 – jmaghuyop

检查您的下拉AutoPostBack =“True”属性。

string empSelected = Convert.Tostring(DropListEmployeeName.SelectedItem.Value); 

您没有工作意味着什么别的办法

var empSelected = ((DropDownList)sender).SelectedValue; 
     string semSelected = selectedValue;