Съобщение за грешка на компилатора: 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
Gday Mozgow, направих предложената промяна, но все още получавам същата грешка :( - person user2038763; 06.12.2013
comment
ДА!! Съобщение за грешка на компилатора: CS0103: Името „grid“ не съществува в текущия контекст Грешка на източника: Ред 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