2016-09-07 5 views
0

я поставил параметры в список выпадающего из базы данных, используя этот код:Получить значение опции выпадающего списка для отображения в текстовом поле

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") 
} 

Так значение Имени сотрудника должно быть их Employee ID (EmpID)

Теперь я хочу, чтобы пользователь, выбрав пользователя, выбралValue (который является EmpID) должен быть отображен в текстовое поле. Вот немного кода я создаю и не работает, это может быть очень легко для других я знаю, пожалуйста, помогите новичку здесь спасибо :)

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

Примечание: EmpID в базе данных на самом деле ИНТ, делает это дело если я называю это строкой? Если да, пожалуйста, предложите лучший код

+0

, что вы имели в виду не работает? –

+0

положить точку прерывания в этой строке 'string empSelected = DropListEmployeeName.SelectedValue.ToString();' и проверить, какое значение вы получили там. Это пустая строка? – woodykiddy

+0

@woodykiddy Я думаю, что предполагается получить значение параметра Selected из выпадающего списка и поместить его в переменную empSelected. Например, я выбрал wolfQueen в списке и имеет значение 123. 123 теперь должно отображаться для использованияID, который является текстовым полем. – wolfQueen

ответ

1

Если вы хотите использовать 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>

Но если вы действительно хотите использовать метод Postback из вашего контроля DropDown попробовать это.

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

Проблема решена! Спасибо! – wolfQueen

+0

Спасибо, что пометили его как ответ. – jmaghuyop

1

проверить выпадающее меню AutoPostBack = "True".

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

другой способ

var empSelected = ((DropDownList)sender).SelectedValue; 
     string semSelected = selectedValue; 
Смежные вопросы