1

私のモデルには、実際には別のモデルからのアイテムのリストがあります。

カートボックスのように、リスト内の各アイテムのプロパティごとにTextBoxFor(disabled)を表示したいと思います。

これが私のモデルの一部です:

public class ObjOrderInfo
{
    (...)
    public List<ObjOrderDetailInfo> m_ListObjOrderDetail { get; set; }
}

そしてここに私の見解の一部があります:

@using (Html.BeginForm())
{
    (...)
    @foreach (var item in Model.m_ListObjOrderDetail)
    {
        (insert code here)
    }
}

基本的に、他のオブジェクト(ObjOrderDetailInfo)には、数量、価格、別のオブジェクトなどのプロパティがあります。これらの各プロパティのtextboxforまたはdisplayforを常に表示したいと思います。しかし、私はこれをどのように行うことができるかについて無知です...誰かがそれについて私を助けることができますか?

どうもありがとうございます!

4

3 に答える 3

1
@using (Html.BeginForm())
{
    (...)
    @for (var i = 0; i < Model.m_ListObjOrderDetail.Count; i++)
    {
        @Html.DisplayFor(x => x.m_ListObjOrderDetail[i].SomeProperty)

        @Html.TextBoxFor(x => x.m_ListObjOrderDetail[i].SomeOtherProperty)

        @Html.TextBoxFor(
            x => x.m_ListObjOrderDetail[i].YetAnotherProperty, 
            new { @readonly = "readonly" }
        )
    }
}
于 2013-03-04T17:13:44.933 に答える
0

これと同じくらい単純なものが機能するはずです:

@using (Html.BeginForm())
{
    <ul>
    @foreach (var item in Model.m_ListObjOrderDetail)
    {
        <li>@Html.DisplayFor(m => item)</li>
    }
    </ul>
}
于 2013-03-04T17:14:39.813 に答える
0

1)「ObjOrderDetailInfo.cshtml」というビューを作成します。このビューは、に対して強く入力する必要があり、ビューでObjOrderDetailInfo編集するためのコントロールを配置する必要がありますObjOrderDetailInfo(必要に応じて「編集」スキャフォールドテンプレートを使用します)。

2)上記のビューをViews / Shared/EditorTemplatesフォルダーに配置します。

3)ObjOrderInfoのビューで、次のようにします。

@Html.EditorFor(model => model.m_ListObjOrderDetail)
于 2013-03-04T17:33:50.560 に答える