Выбранное раскрывающееся значение не отображается при редактировании из - PullRequest
0 голосов
/ 05 апреля 2020

Я хочу отредактировать свой продукт, чтобы у меня было три раскрывающихся списка, когда я нажимаю кнопку Редактировать загрузку продукта и запускаю эту функцию. Редактировать загрузку данных продукта в переменную результата, но не отображается в интерфейсе. Я сделал со своей стороны все правильно, но я не знаю, почему значение не отображается в моем раскрывающемся меню во время редактирования.

Любой эксперт может увидеть код и любезно сказать мне, где я нахожусь неправильно и как исправить эту проблему.

Модели

public class ProductViewModel
{
    public Product listProducts = new Product();
    public List<ProductDetail> listProductDetails = new List<ProductDetail>();
}

Продукт

public class Product
{
    public int P_SizeID { get; set; }
    public int P_Color_ID { get; set; }
    public int PType_ID { get; set; }
}

Информация о продукте

public class ProductDetails
{
    Public Int64 ProductID { get; set; }
    public string PDescription { get; set; }
    public string Model { get; set; }
    public string Condition { get; set; }
    public string OS { get; set; }
    public string DualSim { get; set; }
    public string TouchScreen { get; set; }
    public string ScreenSize { get; set; }
}

Функция c#

public ActionResult EditProduct(int id)
{
    List<ProductType> PTlist = _IproductType.PTList();
    ViewBag.Ptlist = new SelectList(PTlist, "PType_ID", "P_Name");

    //Product Color List  
    List<P_Color> pColorList = _IProductColor.PColorlist();
    ViewBag.pColor_List = new SelectList(pColorList, "C_ID", "C_Name_OR_Code");

    List<P_Size> pSizeList = _ISize.pSizeList();
    ViewBag.pSizeLists = new SelectList(pSizeList, "S_ID", "S_Size");

    var result = _IProducts.GetProductByID(id);

    return View(result);
}

C# Функция

public ProductViewModel GetProductByID(int ID)
{
    ProductViewModel listprod = new ProductViewModel();

    try
    {
        var productsl = (from p in _db.Products
                         where p.ProductID == ID
                         select p).FirstOrDefault();


        var productD = (from pd in _db.ProductDetails
                        join b in _db.Products on pd.ProductID equals b.ProductID
                        where pd.ProductID == ID
                        select pd).ToList();
        return new ProductViewModel { listProducts = productsl, listProductDetails = productD };
    }

    catch (Exception)
    {

        throw;
    }
}

Просмотр

<div class="form-group">
    <label class="control-label col-lg-3">
        <span data-toggle="tooltip" class="label-tooltip" data-original-title="Product type"> Product Category </span>
    </label>
    <div class="col-lg-9">
        <div class="col-sm-9 controls">
            @if (ViewBag.Ptlist != null)
            {
            @Html.DropDownListFor(m => m.listProducts.PType_ID, ViewBag.Ptlist as SelectList, "Choose Product Category", new { @class = "", @id = "PTypeID" })
            }
        </div>

    </div>
</div>
<div class="form-group">
    <label class="control-label col-lg-3"><span data-toggle="tooltip" class="label-tooltip" data-original-title="Product type"> Product Color </span></label>
    <div class="col-lg-9">
        <div class="col-sm-9 controls">
            @if (ViewBag.pColor_List != null)
            {
            @Html.DropDownListFor(m => m.listProducts.P_Color_ID, ViewBag.pColor_List as SelectList, "Choose Product Color", new { @class = "", @id = "PColorID" })
            }
        </div>

    </div>
</div>
<div class="form-group">
    <label class="control-label col-lg-3"><span data-toggle="tooltip" class="label-tooltip" data-original-title="Product type"> Product Size </span></label>
</div>
...