2012-06-21 44 views
8

Đây là mã của tôi.Ngăn chặn ngắt dòng sau @ Html.LabelFor Trong ASP.NET MVC 4 Sử dụng dao cạo

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

Từ mã ở trên, nhãn và hộp văn bản nằm trên các dòng riêng biệt. Tôi muốn kết hợp chúng phải được trên cùng một dòng để tôi có thể có một cái gì đó giống như ...

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

nên kết thúc trông như FirstName: _ __ _ __ _

Cảm ơn trước.

+0

Bạn có thể đạt được điều này với css, nhưng chúng tôi sẽ cần xem html của bạn. – jrummell

Trả lời

12

Phải có điều gì đó sai với CSS của bạn vì <label><input> là cả hai yếu tố nội tuyến. Lý do duy nhất họ sẽ xuất hiện trên các dòng riêng biệt là nếu CSS của bạn coi chúng là các phần tử khối hoặc nếu chúng không thể phù hợp trên cùng một dòng nội dung.

Demo trong jsFiddle: http://jsfiddle.net/tSFtJ/

+0

Tôi sẽ 'kiểm tra điều đó, tôi thậm chí không nghĩ về nó. Phải là CSS mặc định của MS thực hiện điều đó. Cảm ơn. –

+4

có, việc xóa "display: block" đã thực hiện mẹo cho tôi. – Nirman

12

Dưới đây là những gì tôi đã làm để làm cho công việc này cho tôi (đoạn mã dưới đây).
Xem Mẫu

<!-- 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> 

Các bit quan trọng là:
mới {style = "display: inline;"}
trong LabelFor (..).
Hoạt động như một sự quyến rũ.

+0

Điều này cũng làm việc cho tôi trong 'Html.BeginForm'. – starsplusplus

Các vấn đề liên quan