2012-12-11 70 views
1

我在我的ASP.net MVC項目中使用編輯器模板。編輯器模板由隱藏字段,複選框,標籤和文本框組成。ASP.NET MVC編輯器模板;顯示列的位置

下面是編輯模板:

@model Models.Domain.myObject 

<p> 
    @Html.HiddenFor(x => x.Id) 

    @Html.DisplayFor(x => x.Name) 

    @Html.CheckBoxFor(x => x.Selected) 
    @Html.TextBoxFor(x => x.DefaultCount, new { disabled = "disabled"}) 

</p> 

以下是我有我的觀點,即使用這個模板:

@Html.EditorFor(model => model.myObject) 

有時是可能的,我有3個myObjects,有時我有10.除了一個例外,MVC在爲我設置所有這些方面做得很好。

我希望名稱全部彼此對齊,我希望複選框左對齊以便出於外觀目的。

我怎樣才能做到這一點?

現在我得到這樣的:

displaydisplay checkbox textbox 
display checkbox textbox 
displaydisplaydisplay checkbox text box 

我想要得到的是(希望你可以看到排列):

 displaydisplay checkbox textbox 
       display checkbox textbox 
displaydisplaydisplay checkbox textbox 

回答

0

那麼該解決方案是基於在html/css上。 您可以使用「div」或「table」。

例如,使用表選項:

VIEW 「MOTHER」

<table> 
     @Html.EditorFor(model => model.myObject) 
</table> 

VIEW 「孩子」

<tr> 
    <td style="width: 200px; text-align: right;"> 
     @Html.HiddenFor(x => x.Id) 
     @Html.DisplayFor(x => x.Name) 
    </td> 
    <td> 
     @Html.CheckBoxFor(x => x.Selected) 
     @Html.TextBoxFor(x => x.DefaultCount, new { disabled = "disabled"}) 
    </td> 
</tr> 

注:正如我所說,你可以使用Divs做相同的視覺效果,你可以添加「CSS類「,以獲得更清晰的代碼。