Как предотвратить рендеринг/отображение значения razor на стороне клиента
У меня есть словарь, который заполнен данными пары ключ / значение.
Когда ключ найден в словаре, отображается соответствующее значение.
В свою очередь, элемент словаря удаляется.
Но когда он удаляется, возврат True или False выводится на клиентскую сторону.
Вот сокращенная версия кода, используемого для представления проблемы:
@{ Dictionary<String, String> KeyValuePairList = new Dictionary<String, String>(); KeyValuePairList.Add("Key01", "Value01"); String TempValue = ""; } <div> @if (KeyValuePairList.TryGetValue("Key01", out TempValue)) { @TempValue @KeyValuePairList.Remove("Key01") } else { @:Value0001 } </div>
Вот сгенерированный HTML:
<div>Value01True</div>
Что я уже пробовал:
Вот некоторые из способов, которые я пробовал.
@if... @(KeyValuePairList.Remove("Key01")) ... OR @{ ... bool TempBool = false; } ... @if... @(TempBool = KeyValuePairList.Remove("Key01")) ...
Тот же рендеринг:
<div>Value01True</div>
@if... if (@KeyValuePairList.Remove("Key01")) { } OR @(KeyValuePairList.Remove("Key01")?"":"") ...
Желаемый рендеринг, но с использованием дополнительного оператора if:
<div>Value01</div>
@if... <!--@KeyValuePairList.Remove("Key01")--> ...
Генерируется html с комментарием True, но не отображается в окончательном представлении браузера:
<div>Value01<!--True--></div>
Теперь вопрос в том, как остановить вывод возвращаемого значения в окончательный HTML-код.
Есть ли стандартный способ / лучший практический способ сделать это?
Если вы можете указать мне исходный материал или решение, это было бы здорово.