Чтобы упростить эту проблему, я написал базовое утверждение if / else, которое показывает сообщение «Номер правильный!» , если условие выполняется при отправке формы или «Извините. неверный номер! " если условие не выполнено.
@{
Layout = "/shared/_SiteLayout.cshtml";
var num1 = Request["text1"];
var num2 = "4";
var totalMessage = "";
if (IsPost)
{
if(num1.AsInt() == num2.AsInt())
{
totalMessage = "The number is correct!";
}
else
{
totalMessage = "Sorry. The number is incorrect!";
}
}
}
<br>
<br>
<br>
<br>
<br>
<div style="margin: 0 40px 0 40px">
<p style="font-weight: bold;">@totalMessage</p>
<br>
<p>4 + what = 8? <strong>Add the missing number</strong>.</p>
<form action="" method="post">
<label for="text1">Add Number Here:</label>
<input type="text" name="text1" />
<input type="submit" value="Add" />
</form>
</div>
Проблема: Как стилизовать переменную под другим цветом, если условие не выполняется?
@totalMessage
Я могу решить эту проблему с помощью второй переменной в выражении и разметке, затем обернуть переменную в теги HTML и добавить стили CSS.
var totalMessage2 = "";
totalMessage2 = "Sorry. The number is incorrect!";
<style>
.incorrect {
color: red;
}
</style>
<span class="incorrect">@totalMessage2</span>
Но, если условие выполнено, пустой тег HTML по-прежнему отображается.
Есть ли другой способ сделать это?