1

これは私のモデルの私のコードです

public class ManufacturerModel
{
    public int ProductTYpeId { get; set; }
    public int Id { get; set; }
    public string Name { get; set; }
    public List<SelectListItem> manf { get; set; }
    public Manufacturer manufacturer { get; set; }
}

これはcshtmlファイルの私のコードです

@using (Html.BeginForm("addmanufacturer", "Admin", FormMethod.Post, new { id = "formPageID" }))
{
    <div class="row">
        <label>Select Existing Manufacturer<span style="color: Red">*</span>:</label>
        <div class="formRight">
            @Html.DropDownList("Id", Model.manf)
        </div>
    </div>
    <div class="row">
        <label>Manufacturer Name<span style="color: Red">*</span>:</label>
        <div class="formRight">
            @Html.TextBoxFor(m => m.manufacturer.name)
            @Html.ValidationMessageFor(m => m.manufacturer.name)
        </div>
    </div>
}

私はこのフォームを投稿していますが、manfacurer から値を取得しようとしているとき、つまり - ManufacturerModel manufacturer = new ManufacturerModel(); モデルオブジェクトを使用すると、すべての値がnullになります。

テキストボックスで m => m.Name に置き換えると、名前の適切な値を取得できます。誰でも問題が何であるかを提案できますか

manf を使用してドロップダウンをバインドしています。フォームをポストバックし、値が空白になる場合は、値を再入力する必要があります..

    public ActionResult addmanufacturer(string id)
    {
        if (id == null)
            id = "0";

        ManufacturerModel manufacturer = new ManufacturerModel();
        manufacturer.ProductTYpeId = Convert.ToInt32(id);
        manufacturer.manf = GetManf();
        manufacturer.Id = -1;

        return View(manufacturer);
    }
4

1 に答える 1