私は私のウェブページにこれを持っています
@{
    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....
    }
}
私のhtmlには次のものがあります
<select id="categorySelect" name="Name">
@foreach(var cat in catList){
    <option value=cat.CategoryKey>@cat.CategoryName</option> 
}
</select>
問題は、このページに初めて移動するときcatListに、コンテキストに名前が存在しないという CS0103 例外が発生することです。
別のページのリンクからこのページを読み込んでいます。私のコードで何が間違っていますか?