これは私のモデルの私のコードです
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);
}