Asp.net-Mvc

使用 Razor 在 ASP.NET MVC 4 中防止 @Html.LabelFor 之後的換行

  • October 9, 2013

這是我的程式碼。

@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)

最終應該看起來像名字:_ __ _ __ _

提前致謝。

你的 CSS 一定有問題,因為<label><input>都是內聯元素。它們出現在不同行的唯一原因是您的 CSS 是否將它們視為塊元素,或者它們不能放在同一行內容中。

jsFiddle 中的展示:http: //jsfiddle.net/tSFtJ/

這是我為使這項工作為我所做的工作(下面的程式碼片段)。

查看模型

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

查看.cshtml

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

重要的是: LabelFor(..) 中的

new { style=“display:inline;”}

奇蹟般有效。

引用自:https://stackoverflow.com/questions/11144845