locked
Multiple propertiess in Pull Down Menu Error RRS feed

  • Question

  • User2074931137 posted

    Any help in chasing down this error would be appreciated.  Thank you.

    Error
    The name 'ToList' does not exist in the current context D:\_Data\MVC\Question\Question\Question\Question\Controllers\Class3Controller.cs 55 23 Question

    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.Entity;
    using System.Linq;
    using System.Net;
    using System.Web;
    using System.Web.Mvc;
    using Question.Models;
    using Question.DAL;
    //
    using System.Data.Entity.SqlServer;
    using System.Data.Entity.Core.Objects;
    using System.Data.SqlClient;


    // GET: /Class3/Create public ActionResult Create() //{ // ViewBag.Class1ID = new SelectList(db.Class1s, "Class1ID", "FirstName"); // ViewBag.Class2ID = new SelectList(db.Class2s, "Class2ID", "CityTown"); // return View(); //} // _________________________ Original - Works (above) _________________________ { ViewBag.Class1ID = db.Class1s.Select(a => new SelectListItem { Value = a.Class1ID.ToString(), Text = a.FirstName + " " + a.LastName } );ToList(); ViewBag.Class2ID = new SelectList(db.Class2s, "Class2ID", "CityTown"); return View(); } // POST: /Class3/Create // To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see http://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] public ActionResult Create([Bind(Include = "Class3ID,Class1ID,Class2ID")] Class3 class3) { if (ModelState.IsValid) { db.Class3s.Add(class3); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.Class1ID = new SelectList(db.Class1s, "Class1ID", "FirstName", class3.Class1ID); ViewBag.Class2ID = new SelectList(db.Class2s, "Class2ID", "CityTown", class3.Class2ID); return View(class3); }

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace Question.Models
    {
        public class Class3
        {
            public int Class3ID { get; set; }
            public int Class1ID { get; set; }
            public int Class2ID { get; set; }
    
            public virtual Class1 Class1 { get; set; }
            public virtual Class2 Class2 { get; set; }
        }
    }
    @model Question.Models.Class3
    
    @{
        ViewBag.Title = "Create";
    }
    
    <h2>Create</h2>
    
    
    @using (Html.BeginForm()) 
    {
        @Html.AntiForgeryToken()
        
        <div class="form-horizontal">
            <h4>Class3</h4>
            <hr />
            @Html.ValidationSummary(true)
    
            <div class="form-group">
                @Html.LabelFor(model => model.Class1ID, "Class1ID", new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.DropDownList("Class1ID", String.Empty)
                    @Html.ValidationMessageFor(model => model.Class1ID)
                </div>
            </div>
    
            <div class="form-group">
                @Html.LabelFor(model => model.Class2ID, "Class2ID", new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.DropDownList("Class2ID", String.Empty)
                    @Html.ValidationMessageFor(model => model.Class2ID)
                </div>
            </div>
    
            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <input type="submit" value="Create" class="btn btn-default" />
                </div>
            </div>
        </div>
    }
    
    <div>
        @Html.ActionLink("Back to List", "Index")
    </div>
    
    @section Scripts {
        @Scripts.Render("~/bundles/jqueryval")
    }
    

    Friday, August 23, 2019 12:14 PM

Answers

  • User475983607 posted

    Change the semicolon to a dot.

    ViewBag.Class1ID = db.Class1s.Select(a => new SelectListItem
    {
    	Value = a.Class1ID.ToString(),
    	Text = a.FirstName + " " + a.LastName
    }
    ).ToList();

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Friday, August 23, 2019 12:58 PM