0

我如何正確使用以下內容?如何使用或不使用基於ASP.NET MVC3中的條件的標籤?

{ bool submitter = value; } 

... 

@(submitter ? "" : @"<a href=""" + Url.Action(actionName, "Queue") + @""">") 
<div> 
    ... 
</div> 
@(submitter ? "" : "</a>") 

我的錯誤是,錨標籤定義被outputed像它應該是在一個HTML代碼的權利,以網頁瀏覽器,而不是看到的<div>周圍的鏈接我看到<a href="...

爲什麼?

回答

1

如果你不想說的編碼,那麼你需要使用Raw擴展方法做:

​​
1

這是因爲除非使用HTML5,否則不能在塊內嵌元素(如a)內放置塊級元素,如div。我想從你的描述你不是。

如果你在一個瀏覽器的DOM督察檢查,你會看到你的代碼看起來是這樣的:

<div></div> 
<a href="queue/action"></a> 
<div></div> 
<a></a> 

另一種方法是改變你的divspan和CSS設置就可以了display: block,如果你要求。

另外,這種邏輯可以更好地放置在ViewModel中。

+0

我** **上午使用HTML5,因此我的直接代碼像'

'完美地工作。我需要的只是有條件地創建一個標籤或不創建。 – AgentFire

+0

在這種情況下,你的代碼應該工作。當你明確設置'{bool submitter = true; }'? –