2009-04-11 2 views
1

FIndControl 함수에서 드롭 다운 목록의 값을 가져 오는 데 문제가 있습니다. 여기 Help : 개체를 캐스팅 할 수 없습니다 Dropdownllist to IConvertible

내가 사용하려고하고있는 코드입니다 :

currentCategoryID = Convert.ToInt32(((DropDownList)r.FindControl("DDLCategories"))); 

데이터베이스의 currentCategoryID의 값이 "INT"

이다 내가이 오류 메시지가 위의 코드를 실행하면 :

'System.Web.UI.WebControls.DropDownList'형식의 개체를 'System.IConvertible'형식으로 캐스팅 할 수 없습니다.

이 코드를 사용하여 텍스트 상자의 값을 retireve해야했다 동일한 코드를 사용

모든 괜찮

currentAddress = ((TextBox)r.FindControl("txtAddress")).Text; 

누군가가 올바르게 코드

답변

3

: 당신이해야 할 것은 무엇 UI 프레임 워크를 사용중인에 따라 선택된 값 또는 선택한 항목 또는 무엇이든을 추출합니다. 값을 변환하기 전에 값을 검색하기 위해 컨트롤에 추가로 드릴 다운해야합니다. 예 :

currentCategoryID = Convert.ToInt32(((DropDownList)r.FindControl("DDLCategories")).SelectedItem.Value); 
+0

감사합니다. Volte, 감사합니다. Volte, 저는 그것이 forgtting이었습니다. – Jason

1

를 작성하는 방법에 대한 올바른 방향으로 날 가리 시겠어요 첫 번째 코드가 DropDownList 컨트롤을 int로 변환하려고 시도하고 있습니다. 당신은 INT32보다는 값으로 DropDownList로 자신을 변환하려는

object selectedId = ((DropDownList)(r.FindControl("...")).SelectedValue; 
int currentCategoryId = Convert.ToInt32(selectedId); 
관련 문제