8

これが私のコードです。

@using (Html.BeginForm()) {
@Html.ValidationSummary()

<fieldset>
    <legend>Registration Form</legend>
    <ol>
        <li>
            @Html.LabelFor(m => m.FirstName)
            @Html.TextBoxFor(m => m.FirstName)
        </li>
    </ol>
 </fieldset>
}

上記のコードから、ラベルとテキストボックスは別々の行にあります。それらを組み合わせて同じ線上に配置したいので、次のようなものを作成できます...

@Html.LablFor(m => m.FirstName): @Html.TextBoxFor(m => m.FirstName)

FirstNameのようになってしまうはずです:_ __ _ __ _

前もって感謝します。

4

2 に答える 2

12

<label><input>は両方ともインライン要素であるため、CSSに何か問題があるはずです。それらが別々の行に表示される唯一の理由は、CSSがそれらをブロック要素として扱っている場合、または同じ行のコンテンツに収まらない場合です。

jsFiddleのデモ:http://jsfiddle.net/tSFtJ/

于 2012-06-21T18:57:46.443 に答える
12

これが私のためにこれを機能させるために私がしたことです(以下のコードの抜粋)。
モデルを見る

<!-- language: c# -->
[DataType(DataType.EmailAddress)]
[Display(Name = "LabelEmail", ResourceType = typeof(Resources.GeneralResource))]
public string EmailAddress { get; set; }

View.cshtml

<!-- language-all: lang-html -->
<div>
    @Html.LabelFor(m => m.EmailAddress, new { style="display:inline;"})
    @Html.DisplayFor(m => m.EmailAddress)
</div> 

重要なビットは 、LabelFor(..)の
新しい{style = "display:inline;"}です。 チャームのように機能します。

于 2013-10-09T19:34:52.690 に答える