2014-09-04 107 views
0

下面的代碼在剃刀的偉大工程:顯示括號IF

@if (!string.IsNullOrEmpty(Model.EmployeeNo)) 
{ 
    @:(@Model.EmployeeNo) 
} 

不過,我不知道如何來顯示它作爲一個內聯IF語句。困難的部分是,如果EmployeeNo值存在,它需要用圓括號顯示。

我已經嘗試了很多方法,但不能得到它的工作。最新的嘗試是

@if(!string.IsNullOrEmpty(Model.EmployeeNo ? @:(@Model.EmployeeNo) : string.Empty)) 

回答

1

它看起來像你試圖做一個三元。你只能做到這一點與有效的C#代碼(你不能嵌入只是任何文本或HTML裏面所以,下面的工作:

@(!string.IsNullOrEmpty(Model.EmployeeNo) ? "(" + Model.EmployeeNo + ")" : string.Empty) 

或者,你可以使用string.Format而不是串聯的:

string.Format("({0})", Model.EmployeeNo) 

的一點是,它一定是實際的代碼。

而且,與三元,你不包括if部分,以防萬一你沒有在上面我的代碼發現。如果你真的想使用if而不是三元組牛逼仍然只使用一個線,這很好,但你還是必須包括括號:

@if (!string.IsNullOrEmpty(Model.EmployeeNo)) { @:(@Model.EmployeeNo) } 

那剃刀如何知道如何解析if塊。

+0

令人驚歎!我做了兩個,因爲它看起來整潔,並感謝包括*兩個*片段。 – EvilDr 2014-09-04 15:07:19

+0

我希望我可以+2的更新位:-) – EvilDr 2014-09-04 15:08:58