ОК, я не уверен на 100%, полностью ли я понимаю ваш вопрос, но если я вас правильно слышу, вы не уверены, как поместить оператор if вокруг первого блока кода и / или вы должен сделать это.
Во-первых, вот "как" - вы просто используете @if
(простите, если это кажется очевидным - я не пытаюсь оскорбить ваш интеллект):
@if (!string.IsNullOrEmpty(ViewBag.search))
{
<div id="clearbuton"><p>@Html.ActionLink("Clear", "")</p>
<p> @String.Format("Total of {0} results", ViewBag.CountRecords)</p>
</div>
}
Теперь рассуждение - вы должны поместить выражение "если" в представление, чтобы показать или скрыть HTML? Да, конечно. Вот для чего предназначен вид в MVC. Контроллер предназначен для выполнения запросов и вычисления количества результатов и манипулирования данными, но именно представлению необходимо взять результаты и фактически отобразить их в HTML. Таким образом, в этом случае мы полагаемся на контроллер, чтобы установить значение ViewBag.search
, а затем, основываясь на этом, представление может показать или скрыть определенный блок HTML. Контроллер не знает (и не должен знать) о HTML.
Это отвечает на ваш вопрос?
P.S.- Вот краткий справочник по синтаксису Razor, если вам интересно:
http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx