0

各モデルの 2 つのモデル フィールドに入力するために、1 つの html.editorfor のみを使用しようとしています。

このエディターの値を Clientes0013.Client0013 にも挿入したい

 <div class="editor-field">
            @Html.EditorFor(model => model.CanaClie0012.Client00130012)
            @Html.ValidationMessageFor(model => model.CanaClie0012.Client00130012)
        </div>

これは Clientes0013.F1Pais00200013 にも挿入されます

<div class="editor-field">
                @Html.EditorFor(model => model.CanaClie0012.F1Pais00200012)
                @Html.ValidationMessageFor(model => model.CanaClie0012.F1Pais00200012)
            </div>

これを行う正しい方法を教えてください。

私のテーブルモデル:

public partial class CanaClie0012
    {
        public string Client00130012 { get; set; }
        public string F1Pais00200012 { get; set; }
        public string F1Cana02530012 { get; set; }
        public string Direcc0012 { get; set; }
        public Nullable<System.DateTime> TmStmp0012 { get; set; }
    }

public partial class Clientes0013
    {
        public string Client0013 { get; set; }
        public string Nombre0013 { get; set; }
        public string F1Pais00200013 { get; set; }
    }

2 つのテーブルを結合するカスタム モデルは次のとおりです。

public class ClientModel
{
  public CanaClie0012 CanaClie0012 { get; set; }
  public Clientes0013 Clientes0013 { get; set; }
}

私のコントローラー:

[HttpPost]
        public ActionResult ClientCreate(CanaClie0012 canaclie0012, Clientes0013 clientes0013)
        {
            ClientModel vm = new ClientModel();
            if (ModelState.IsValid)
            {
                db.CanaClie0012.Add(canaclie0012);
                db.Clientes0013.Add(clientes0013);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(vm);
        }

私の見解:

@model MvcApplication1.Models.ClientModel

@{
    ViewBag.Title = "ClientCreate";
}

<h2>ClientCreate</h2>

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>ClientModel</legend>
        <div class="editor-label">
            Client Name
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.CanaClie0012.Client00130012)
            @Html.ValidationMessageFor(model => model.CanaClie0012.Client00130012)
        </div>
        <div class="editor-label">
            Pais
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.CanaClie0012.F1Pais00200012)
            @Html.ValidationMessageFor(model => model.CanaClie0012.F1Pais00200012)
        </div>
        <div class="editor-label">
            Address 
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.CanaClie0012.Direcc0012)
            @Html.ValidationMessageFor(model => model.CanaClie0012.Direcc0012)
        </div>
         <div class="editor-label">
            Contact Number 
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Clientes0013.Nombre0013)
            @Html.ValidationMessageFor(model => model.Clientes0013.Nombre0013)
        </div>


        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>
4

1 に答える 1