我有以下代码
<div> @Html.LabelFor(m=>m.WrongLogin) </div>
我想根据控制器中服务器端代码的条件动态显示标签。如果控制器返回false
值,那么我需要制作标签visible
。
答案 0 :(得分:6)
只需使用if
声明:
@if (Model.LoginFailed) // Or whatever...
{
@Html.LabelFor(m => m.WrongLogin);
}
答案 1 :(得分:2)
由于Jon Skeet的回答是正确的,如果你不想要Model,你可以使用ViewBag。
<强>控制器强>
public ActionResult Index()
{
ViewBag.IsValid = false; //or true based on your condition
return View();
}
查看页面
@if (ViewBag.IsValid)
{
<div>@Html.LabelFor(m=>m.WrongLogin)</div>
}
答案 2 :(得分:2)
Jquery
还有另一种方法,
默认设置Div Invisible
并设置div Id
。如下,
在.cshtml中
<div style="display:none" id="DivWrongLogin">
@Html.LabelFor(m=>m.WrongLogin)
</div>
脚本
$(document).ready(function () {
if('@Model.LoginFailed' == false)
{
$('#DivWrongLogin').show();
}
});