razor / WebMatrix变量范围

时间:2012-09-16 20:08:12

标签: razor webmatrix-2

我在我的网页上有这个

@{
    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>

问题是,当我第一次获得此CS0103异常时导航到此页面时,上下文中不存在名称catList

我从另一个页面的链接加载此页面。我的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

您在if(){...}语句中定义cataLyst是否会收到此错误,在之前预定义

dynamic catList=null;
if(!IsPost){
var db = Database.Open("MyDatabase");
catList= db.Query("select * from category");
...