2012-09-16 3 views
0

나는 내가면도기/WebMatrix 변수 범위

<select id="categorySelect" name="Name"> 
@foreach(var cat in catList){ 
    <option value=cat.CategoryKey>@cat.CategoryName</option> 
} 
</select> 

문제 다음 한

내 HTML에서
@{ 
    if(!IsPost){ 
     var db = Database.Open("MyDatabase"); 
     var catList= db.Query("select * from category");  
    } 
    else{ 
     var db = Database.Open("MyDatabase"); 
     var query = "insert into product (productkey,productname,categorykey) values(@0,@1,@2)"; 
     ....more code.... 
    } 
} 

내 웹 페이지에서 이것을 가지고 해당 페이지로 처음 탐색 할 때 나는이 CS0103을 얻을 수 있다는 것입니다 그 예외라는 말은 catList는 문맥에 존재하지 않는다.

다른 페이지의 링크에서이 페이지를로드 중이다. 내 코드에서 무엇이 잘못 되었습니까?

답변

0

if() {...} 문에서 catList를 정의하므로이 오류가 발생하므로 앞에 앞에 미리 정의하십시오.

+0

안녕하세요, Aleksey에게 감사드립니다. 같은 문제에 직면 한 사람들에게 한 가지 설명을 해주세요. catList 변수는 generic 형식 예외를 피하기 위해 IEnumerable 대신 dynamic 형식으로 선언해야합니다. dynamic catList = null –

+1

ok, 대답이 수정되었습니다. – FLCL