2009-11-06 100 views
2

我使用MVC2,預覽2.爲什麼當我使用:Html.LabelFor幫手MVC2

 <%= Html.LabelFor(x => x.Nombres) %> 
     <%= Html.Encode(Model.Nombres) %> 

它輸出:

Nombre: 
Sr. Fulano de Tal 

但是當我使用:

 Nombres: 
     <%= Html.Encode(Model.Nombres) %> 

它輸出:

Nombre: Sr. Fulano de Tal 

我不想在標籤後返回。是我的CSS是破壞的東西,還是它是HTML.LabelFor,正在產生額外的回報。

回答

4

這真的很難回答。可以看到它正在生產的實際的html標記。我懷疑這些標籤要麼浮動,要麼在CSS中顯示:block。

+0

你是對的,這與Html.LabelFor方法無關...它與CSS。 – hminaya 2009-11-06 16:49:29

+2

只是一個簡單的說明。標籤標籤只能與輸入元素一起使用。 http://www.w3schools.com/tags/tag_label.asp – 2009-11-06 16:59:37

0

查看源代碼將幫助您知道正確的答案在這裏。每種情況下生成的HTML是什麼?

我懷疑這裏發生的事情是,Html.LabelFor生成的HTML元素在您的CSS中定義爲block element,這意味着後續內容將從新行開始。如果發生了這種情況,您可以更改這些元素的CSS以使用display:inline;,它們應顯示在與字段值相同的行上。您也可以使用float CSS屬性來產生相同的效果,但浮動通常比display:inline更難以使用。

0

您的案例的HTML輸出應該是這樣的:<label for="Nombres">Nombre</label>。 沒有<br/>被呈現,所以唯一的答案應該存在於CSS中,就像Justin說的那樣。尋找附加到「標籤」元素的css樣式,或不太可能的,與「Nombres」相關的東西。