2014-03-19 64 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(); 
    } 
});