Эквивалент End/Response.End в бритве?

Я пытаюсь остановить загрузку остальной части страницы на основе некоторых параметров; но я не уверен в правильном синтаксисе.

@if(dayRes + dayTri == 2){<text>Sorry, etc</text> @Response.End}

Приведенное выше выдает следующую ошибку: CS1502: лучший перегруженный метод, соответствующий «System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)», содержит недопустимые аргументы

Есть идеи?


person cavill    schedule 24.02.2011    source источник
comment
@ не означает печать! он запускает блок кода, так как ваш блок начинается с @if, вы не можете запустить вложенный блок   -  person Doctor Sid    schedule 16.11.2011


Ответы (1)


Ваш код пытается напечатать Response.End на странице.

Вы можете просто написать (в своем блоке кода)

return;

чтобы остановить выполнение сгенерированного метода Execute().

Вы также можете вызвать End как метод внутри вашего блока кода:

Response.End();
person SLaks    schedule 24.02.2011
comment
Спасибо за ваш ответ - я не уверен, как интегрировать его в код (извините - новичок здесь) @if(count + count2 == 2){<text>Hello World</text> @Response.End();} - это все равно выдает ошибку компиляции CS1502 - person cavill; 25.02.2011
comment
@Tom: @ означает печать. Вы не хотите @. - person SLaks; 25.02.2011
comment
К вашему сведению, возвращение; у меня отлично сработало, но я пробовал Response.End(), прежде чем нашел этот пост. Он завершил запрос, но не вывел то, что было в буфере. - person Ben Gripka; 29.09.2016