2012-07-27 4 views
0

등록을 위해 ASP.NET 마법사가 있습니다. 1 단계에서 테이블 dbo.Emp로 들어가는 몇 가지 컨트롤이 있습니다. 이 step1에서는 dbo.Emptype이라는 다른 테이블의 코드 숨김에서 바인드 된 두 개의 DropDownList가 있습니다. 테이블 dbo.Emp에 양식을 삽입하는 동안데이터 소스에서 DropDownList.SelectedIndex를 사용하는 방법?

그러나, 나는 무엇입니까 다음과 같은 오류 - 내가하는 것이 그것을 말하고 제어 모르는

Insert Error:Error converting data type nvarchar to numeric. 

.

그러나 문 여기 -

cmd.Parameters.AddWithValue("@EmpType",DropDownList1.SelectedIndex); 
cmd.Parameters.AddWithValue("@DeptID", DropDownList3.SelectedIndex); 

내가 EmpType의 항목과 연결된 INT 값이 테이블에 삽입 할있다. DropDownList1은 Dbo.EmpType (TypeID (PK- AutoIncrement) | Type) 테이블에 바인드됩니다. 사용자가 해당 컨트롤을 드롭하고 값을 선택하면 DataValueField (즉 TypeID)가 테이블에 삽입되어야합니다.

어떻게해야합니까?

내 바인딩 클래스입니다.

public void dropdowntype() 
     { 
      SqlConnection myConn = new SqlConnection(@"Data Source=USER-PC\SQLEXPRESS;Initial Catalog=KKSTech;Integrated Security=True"); 
      SqlCommand myCmd = new SqlCommand(
       "SELECT Type, TypeID FROM EmpType", myConn); 
      myConn.Open(); 
      SqlDataReader myReader3 = myCmd.ExecuteReader(); 

      //Set up the data binding. 
      Emp_type.DataSource = myReader3; 
      Emp_type.DataTextField = "Type"; 
      Emp_type.DataValueField = "TypeID"; 
      Emp_type.DataBind(); 



//Close the connection. 
      myConn.Close(); 
      myReader3.Close(); 

     } 
protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!(Page.IsPostBack)) 
      { 
       dropdownDept(); 
       dropdowntype(); 
       dropdownskills(); 
      } 

     } 

답변

1

당신은 당신은 드롭 다운의 인덱스를 선택하는이 문장

cmd.Parameters.AddWithValue("@EmpType",DropDownList1.SelectedValue); 
cmd.Parameters.AddWithValue("@DeptID",DropDownList3.SelectedValue); 

를 사용하여 드롭 다운에서 데이터 값의 feild이 필요합니다.

+0

SelectedValue는 항목을 선택합니다. 나는 필요하지 않습니다. 항목과 관련된 색인이 필요합니다. – Girish

+0

친애하는 SelectedItem이 Selected 항목을 표시합니다. 드롭 다운을 묶은 코드 표시 –

+0

DropDownList1.TextFeild 및 DropDownList1.ValueFeild는 무엇입니까? –

관련 문제