Не удалось загрузить данные в выпадающем меню с помощью Asp.net Mvc Json - PullRequest
0 голосов
/ 04 июля 2019

Я создаю простую систему управления запасами, используя Asp.net Mvc Json. Когда я пытаюсь загрузить категорию data.category, данные не загружаются в выпадающее меню. код, который я пробовал до сих пор, я прикрепил ниже вместе с снимком экрана. введите описание изображения здесь

Форма дизайна

<div class="card-action">
    <div class="form-group">
        <label class="form-label">Category</label>
        <select class="form-control" id="category" name="category"
                            placeholder="Category" required>
            <option value="">Please Select</option>
        </select>
    </div>
    </div>

Jquery

getCategory();

function getCategory() {
    $.ajax({
        type: 'GET',
        url: '/product/Getcategory',
        dataType: 'JSON',
        success: function (data) {

            console.log(data);
            for (var i = 0; i < data.length; i++) {
                $('#category').append($("<option/>", {
                    value: data[i].id,
                    text: data[i].cat_name,
                }));
            }

        },
        error: function (xhr, status, error) {
            alert(xhr.responseText);

        }

    });  
}

Контроллер

public class ProductController : Controller
{

    aspoEntities db = new aspoEntities();
    // GET: /Product/
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult Getcategory()
    {
        using (aspoEntities db = new aspoEntities())
        {
            var category = db.categories.ToList();
            return Json(new { data = category }, JsonRequestBehavior.AllowGet);
        }
    }

}

Ответы [ 2 ]

0 голосов
/ 04 июля 2019

Измените свой контроллер на

public class ProductController : Controller
{
    // GET: /Product/
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult Getcategory()
    {
        aspoEntities db = new aspoEntities()
        var category = db.categories.ToList();

        return Json(category, JsonRequestBehavior.AllowGet);
    }

}
0 голосов
/ 04 июля 2019

Кажется, ваш контекст БД был удален до сериализации json.

Попробуйте ввести контекст БД в ваш контроллер и избавиться от оператора using.

Или переместите вашоператор возврата вне используемого блока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...