Сообщение об ошибке компилятора: CS0103: имя "сетка" не существует в текущем контексте

Я НОВИЧОК в Razor C#/Webmatrix 3.0. Я получаю эту ошибку ниже, когда пытаюсь скомпилировать этот код. Что я делаю неправильно? Спасибо!!

Ошибка сервера в приложении '/'

Ошибка компиляции

Описание: Произошла ошибка при компиляции ресурса, необходимого для обслуживания этого запроса. Ознакомьтесь со следующими конкретными сведениями об ошибке и соответствующим образом измените исходный код.

Сообщение об ошибке компилятора: CS0103: имя "сетка" не существует в текущем контексте

Ошибка источника:

Строка 76:
Строка 77: Строка 78: @grid.GetHtml( Строка 79: tableStyle: "grid", Строка 80: headerStyle: "head",

Исходный файл: c:\Users\user2\Documents\My Web Sites\test\test.cshtml Строка: 78

Предупреждающие сообщения компилятора:

Показать подробный вывод компилятора:


@{
var db = Database.Open("REST") ;
var searchTerm = "";
var searchRestS = "";
var searchGroupS = "";
var searchYearS = "";
var searchMonthS = "";
var searchDayS = "";
var searchDateS = Request.QueryString["searchDay"] + "/" +  
Request.QueryString["searchMonth"] +  
"/" + Request.QueryString["searchYear"];
IEnumerable<dynamic> selectedData = null;
var message="";

Validation.RequireField("searchRest", "Codigo do restaurante nao foi fornecido");
Validation.RequireField("searchGroup", "Grupo do prato nao foi fornecido");
Validation.Add("searchDate", Validator.DateTime("Data invalida"));


if (IsPost)  {

    if (Validation.IsValid()) 
      {

        searchRestS = "%" + Request.QueryString["searchRest"] + "%";
        searchGroupS = "%" + Request["searchGroup"] + "%";
        searchYearS = "%" + Request["searchYear"] + "%";
        searchMonthS = "%" + Request["searchMonth"] + "%";
        searchDayS = "%" + Request["searchDay"] + "%";
          var selectCommand = "SELECT * FROM CRRP_RESUMO_PRATO WHERE 
              crrp_cod_restaurante = @0  
              AND datepart (YEAR, crrp_dat_movimento) = @4 
              AND datepart (MONTH, crrp_dat_movimento) = @3 
              AND datepart (DAY, crrp_dat_movimento) = @2 
              AND crrp_tip_resumo = 0 AND crrp_cod_grupo = @1";
        selectedData = db.Query(selectCommand, searchRestS, searchGroupS, searchDayS,
        searchMonthS, searchYearS); 
        var grid = new WebGrid(source: selectedData, defaultSort:"Prato", 
        rowsPerPage:13);
      }


          }

}

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>Pratos Vendidos</title>
    <style type="text/css">
.grid { margin: 4px; border-collapse: collapse; width: 600px; }
.grid th, .grid td { border: 1px solid #C0C0C0; padding: 5px; }
.head { background-color: #E8E8E8; font-weight: bold; color: #FFF; }
.alt { background-color: #E8E8E8; color: #000; }
</style> 
</head>
<body>
   <h1>Pratos Vendidos</h1>
<form method="get">
<div>
<label for="searchRest">Codigo do Restaurante:</label>
<input type="text" name="searchRest" value="@Request.QueryString["searchRest"]" /> 
<br/>    
(N, F, P, A)<br/>
</div>
<div>
<label for="searchGroup">Codigo do Grupo</label>
<input type="text" name="searchGroup" value="@Request.QueryString["searchGroup"]" />
<br/>   
(6, 7, 9, E, F, G, P, S)<br/>
</div>
<div>
<label for="searchDay">Data</label>
<input name="searchDay" type="text" id="searchDay"    
value="@Request.QueryString["searchDay"]" /> 
<input name="searchMonth" type="text" id="searchMonth" 
value="@Request.QueryString["searchMonth"]" />
<input name="searchYear" type="text" id="searchYear"   
value="@Request.QueryString["searchYear"]" />  <br/> 
(DD MM YYYY)<br/>
<input type="Submit" value="Search Description" />
</div>
</form>

<div>
@grid.GetHtml(
tableStyle: "grid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: grid.Columns(
    grid.Column("Restaurante"),
    grid.Column("Codigo"),
    grid.Column("Prato"),
    grid.Column("DataDaVenda"),
    grid.Column("Quantidade")
                     )
            )

</div> 
</body>
</html>

person user2038763    schedule 29.11.2013    source источник
comment
Вам нужно упростить образец, удалив все ненужные части. Никто не будет все это читать.   -  person Raymond Chen    schedule 29.11.2013
comment
Похоже, что некоторые люди сделали... Спасибо в любом случае!   -  person user2038763    schedule 06.12.2013


Ответы (2)


Ваша переменная grid объявлена ​​внутри области действия if (Validation.IsValid()) и не может использоваться где-либо еще. Если вы хотите получить к нему доступ вне оператора if, вы должны объявить его перед if (IsPost).

person mozgow    schedule 30.11.2013
comment
Добрый день, Мозгов, я внес предложенное изменение, но все равно получаю ту же ошибку :( - person user2038763; 06.12.2013
comment
ДА !! Сообщение об ошибке компилятора: CS0103: имя «сетка» не существует в текущем контексте Ошибка источника: строка 74: ‹/div› строка 75: ‹div› строка 76: @grid.GetHtml( строка 77: tableStyle: grid, Line 78: headerStyle: голова, - person user2038763; 09.12.2013

Глядя на код, попробуйте разместить следующий тег внутри корпуса.

<div>
@grid.GetHtml(
tableStyle: "grid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: grid.Columns(
    grid.Column("Restaurante"),
    grid.Column("Codigo"),
    grid.Column("Prato"),
    grid.Column("DataDaVenda"),
    grid.Column("Quantidade")
                     )
            )

</div> 
person Mikey    schedule 29.11.2013
comment
Спасибо, приятель ... извините за мое невежество, но что вы подразумеваете под вложением ?? - person user2038763; 29.11.2013
comment
Извините .. Никакого невежества с вашей стороны, просто очень плохой язык с моей стороны. Поместите его в тег ‹form›‹/form›. Извините за это, не уверен, почему я сказал вложение. ржу не могу - person Mikey; 30.11.2013
comment
Не беспокойтесь, Майки, я внес предложенное изменение, но все равно получаю ту же ошибку :( - person user2038763; 06.12.2013