1

以下にリストしたビューがあります。

フォームを投稿すると、Organization のデフォルト コンストラクターが呼び出されます。ただし、Party オブジェクトを取る別のコンストラクターを呼び出す必要があります。

Razorまたはmvcを使用する他の方法でそれを行う方法、plsはアドバイスします。

私のコード:

public O(Pobj)
        : this()
    {
        P= obj;
    }

意見:

@using P.M.O


@model IEnumerable<O>
@{
ViewBag.Title = "Details";
}

<table>
    <tr>
    <th>
        @Html.Raw("Caption")
    </th>
    <th></th>
</tr>
<tr>
<td colspan="4">
    @using (Html.BeginForm("Edit", "O", FormMethod.Post))
    {
        <table>
            <tr>
            @foreach (var item in Model)
            {

                <td class="txt">
                    @Html.TextBox("C", item.GetValForProp<string>("C"), new { @class = "txt" }) 
                </td>
                <td class="txt">
                    @Html.TextBox("N", item.GetValForProp<string>("N"), new { @class = "txt" })
                </td>
                <td class="txt">
                    @Html.TextBox("D", item.GetValForProp<string>("D"), new { @class = "txt" })
                </td>
                <td>
                    <button type="submit">Edit</button>
                </td>
            }
            </tr>
        </table>
    }
</td>

まだ解決されていない上記の質問に追加して、別の質問があります。

私の組織は、別のオブジェクト パーティの子です。そのため、組織に対応するパーティー テーブルの詳細を持つプロパティ パーティーがあります (orgobj.Party にはパーティー オブジェクトがあります)。

編集をクリックすると、コントローラーで orgobj.Party が null になり、編集が機能しません。例外: 参照整合性制約違反が発生しました: 参照制約を定義するプロパティ値が、リレーションシップ内のプリンシパル オブジェクトと従属オブジェクトの間で一貫していません。

私が何かをしている場合、または編集コントローラーで使用できる組織のバインドパーティをモデル化するにはどうすればよいかアドバイスしてください???

4

1 に答える 1