2

私は MVC2、Preview 2 を使用しています。

        <%= 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

3 に答える 3

4

これは本当に答えるのが難しいです。それが生成している実際のhtmlマークアップを見ることで行うことができます。ラベルがフロートされているか、cssのdisplay:blockのいずれかであると思われます。

于 2009-11-06T16:41:17.687 に答える
0

ソースを表示すると、正しい答えがここにあるかどうかを知るのに役立ちます。それぞれの場合に生成されるHTMLは何ですか?

ここで起こっているのは、によって生成されたHTML要素がHtml.LabelForCSSでブロック要素として定義されていることだと思います。つまり、後続のコンテンツは新しい行から始まります。これが起こっている場合は、使用する要素のCSSを変更できdisplay:inline;、フィールドの値と同じ行に表示されます。CSS属性を使用して同じ効果を生成することもできますfloatが、フロートは一般に。よりも操作が困難ですdisplay:inline

于 2009-11-06T16:40:41.677 に答える
0

ケースの HTML 出力は次のようになります<label for="Nombres">Nombre</label>。いいえ<br/>はレンダリングされないため、ジャスティンが言ったように、唯一の答えは CSS にあるはずです。「ラベル」要素に関連付けられている CSS スタイル、または「名前」に関連する可能性が低いものを探します。

于 2009-11-06T16:54:19.327 に答える