2013-03-11 56 views
1

我有局部視圖的值稱爲像隱藏標籤:如何基於在ViewData的

@Html.Partial("PersonSearch", new ViewDataDictionary { { "searchtypeselectvisible", false } }) 

在剃刀文件我有HTML:

<div class="searchtypeselect" > 
     <input type="radio" name="searchtype" value="person" checked="checked" />Person 
     <input type="radio" name="searchtype" value="organisation" class="orgsearchradiobtn" />Organisation 
    </div> 

我知道我可以訪問在剃刀上的數據通過使用:

@ViewData["searchtypeselectvisible"] 

有人能解釋我怎麼能隱藏與類searchtypeselect股利,如果通過未來的值爲false和sh如果這個值是真的呢?

+0

你可以在google這http://www.w3schools.com/aspnet/razor_cs_logic.asp – 2013-03-11 02:03:07

+0

這不是我真正想做的。我想在標籤上設置隱藏屬性。我仍然希望標記在那裏我只想讓它隱藏起來 – user2005657 2013-03-11 02:06:32

+0

我想你可以推斷出來。老實說,這是一個糟糕的問題。你還沒有做過自己的研究,基本上想要有人爲你做你的工作。這不是什麼意思。 – 2013-03-11 02:26:32

回答

1

使用@{ if{ } }設置屬性風格display: none,方便。

2

條件屬性渲染Conditional attribute rendering

如果您有可能爲空,在過去的你需要做一個空檢查,以避免寫出一個空的屬性,像這樣的屬性:

<div @{if (myClass != null) { <text>class="@myClass"</text> } }>Content</div> 

現在Razor能夠自動處理,所以你可以寫出屬性。如果它爲空,則該屬性不會被寫入:

<div class="@myClass">Content</div> 

所以,如果@myClass爲空,則輸出僅僅是這樣的:

<div>Content</div> 

嘗試這樣

@(ViewData["searchtypeselectvisible"]==true ? "yourDisplayClass" : "yourHidingDivClass"); 
+0

[這也是一個很好的解釋鏈接](https://gist.github.com/jonlabelle/8738373#conditional-attributes)。 – 2017-09-12 11:35:41