2014-03-19 59 views
2

我有以下代码如何动态更改mvc3中标签的可见性?

<div> @Html.LabelFor(m=>m.WrongLogin) </div> 

我想要动态地基于从控制器中的服务器端代码的条件来显示标签。如果控制器返回false值,那么我需要制作标签visible

+0

你可以说明有关情况即它是从模型或在客户端的sode未来 – Nilesh

回答

6

只需使用一个if声明:

@if (Model.LoginFailed) // Or whatever... 
{ 
    @Html.LabelFor(m => m.WrongLogin); 
} 
2

由于乔恩斯基特答案是正确的,你可以使用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

中有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(); 
    } 
});