1

ASP.netMVCプロジェクトでエディターテンプレートを使用しています。エディタテンプレートは、非表示フィールド、チェックボックス、ラベル、およびテキストボックスで構成されています。

エディターテンプレートは次のとおりです。

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

myObjectが3つある場合もあれば、10がある場合もあります。MVCは、1つの例外を除いて、これらすべてを設定するという優れた機能を果たします。

名前をすべて互いに右揃えにし、チェックボックスを外観のために左揃えにします。

これどうやってするの?

今、私はこのようなものを手に入れています:

displaydisplay   checkbox textbox
display  checkbox textbox
displaydisplaydisplay checkbox text box 

私が取得しようとしているのは(うまくいけば、アライメントを見ることができます):

       displaydisplay   checkbox textbox
              display   checkbox textbox
displaydisplaydisplay   checkbox textbox 
4

1 に答える 1

0

解決策はhtml/cssに基づいています。「div」または「table」を使用できます。

テーブルオプションの使用例:

「お母さん」を見る

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

「子」を見る

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

注:前述したように、Divを使用して同じ視覚効果を実行したり、「cssクラス」を追加してよりクリーンなコードを作成したりできます。

于 2012-12-11T15:43:24.440 に答える