نمایش نتایج 1 تا 7 از 7

نام تاپیک: عدم دریافت اطلاعات از اکشن متد و عدم نمایش آنها در myView.cshtml

  1. #1

    عدم دریافت اطلاعات از اکشن متد و عدم نمایش آنها در myView.cshtml

    سلام و سپاس. یک مشکل ابتدایی در دریافت اطلاعات از اکشن متد موجود در Area و نمایش آن توسط Jquery/Ajax در صفحه View دارم. از asp.net core 3.1 استفاده میکنم. این کنترولر هست که بدرستی اطلاعات را دریافت میکنه:

    [Area("Admin")]  
    public class CategoryController : Controller
    {
    #region API Calls
    [HttpGet]
    public IActionResult GetAll()
    {
    return Json(_unitOfWork.categoryRepository.Get().ToList() );
    }
    #endregion
    }




    وقتی در آدرس بار url را تایپ میکنم :
    localhost:44360/Admin/Category/GetAll

    این اطلاعات از دیتا بیس خونده و نمایش داده میشه :
    Untitled.jpg

    وقتی داخل صفحه Index.cshtml طبق زیر تایپ میکنم :

    <div>    <table id="myTable">
    <thead>
    <tr>
    <th>ProductID</th>
    <th>ProductName</th>
    </tr>
    </thead>
    <tbody class="tbody">
    </tbody>
    </table>
    </div>


    کدهای جی کوئری:

    @section Scripts{
    <script>
    $(document).ready(function () {

    loadData();

    function loadData() {
    $.ajax({
    url: "/Admin/Category/GetAll",
    type: "GET",
    contentType: "application/json;charset=utf-8",
    dataType: "json",
    success: function (result) {
    var html = '';
    $.each(result, function (key, item) {
    html += '<tr>';
    html += '<td>' + item.CategoryID + '</td>';
    html += '<td>' + item.CategoryName + '</td>';
    html += '<td><a href="#" onclick="return getbyID(' + item.CategoryID + ')">Edit</a> | <a href="#" onclick="Delele(' + item.CategoryID + ')">Delete</a></td>';
    html += '</tr>';
    });
    $('.tbody').html(html);
    },
    error: function (errormessage) {
    alert(errormessage.responseText);
    }
    });
    }
    </script>
    }




    این نمایش داده میشه: به تعداد سه رکورد موجود در دیتا بیس، سه ردیف نامعین تایپ میشه. ممنون میشم راهنمایی کنید.

    Untitled.jpg

  2. #2
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: عدم دریافت اطلاعات از اکشن متد و عدم نمایش آنها در myView.cshtml

    از console.log استفاده کن تا متوجه بشی دقیقا چی داره برگشت داده میشه

    بعد از ایجکس

    console.log(result)

    بزن که ببینی نتیجه برگشتی به چه شکله


    توی حلقه هم
    console.log(item)


    بزار که ببینی چی داره خروجی میده

  3. #3

    نقل قول: عدم دریافت اطلاعات از اکشن متد و عدم نمایش آنها در myView.cshtml

    نقل قول نوشته شده توسط plague مشاهده تاپیک
    از console.log استفاده کن تا متوجه بشی دقیقا چی داره برگشت داده میشه

    بعد از ایجکس

    console.log(result)

    بزن که ببینی نتیجه برگشتی به چه شکله


    توی حلقه هم
    console.log(item)


    بزار که ببینی چی داره خروجی میده
    ممنون از پاسخ گویی تون. بیرون از ajax که result را نمیشناسه.
    داخل حلقه گذاشتم واسه هر ایتم و بعد از اتمام حلقه هم گذاشتم :
       function loadData() {            $.ajax({
    url: "/Admin/Category/GetAll",
    type: "GET",
    contentType: "application/json;charset=utf-8",
    dataType: "json",
    success: function (result) {
    var html = '';
    $.each(result, function (key, item) {
    html += '<tr>';
    html += '<td>' + item.CategoryID + '</td>';
    html += '<td>' + item.CategoryName + '</td>';
    html += '</tr>';
    console.log(item);
    });
    console.log(result);
    $('.tbody').html(html);
    },
    error: function (errormessage) {
    alert(errormessage.responseText);
    }
    });
    }


    این خروجی م هست دقیقا همه سه تا رکورد از دیتا بیس را میاره به درستی ولی نمیتونم توی table یا div یا هر چی بندازمشون. نمیدونم چرا ؟ از append هم استفاده کردم ولی ربطی نداشت.

    2.jpg
    خودم فکر میکنم یک جایی فرمت باید string باشد یا نباشد یا Object باشد یا نباشد.. نمیدونم کجا و چی . یکم با Json.Parse و stringify هم کار کردم ولی جواب نگرفتم.
    آخرین ویرایش به وسیله ehsan_kabiri_33 : چهارشنبه 17 اردیبهشت 1399 در 23:53 عصر

  4. #4

    نقل قول: عدم دریافت اطلاعات از اکشن متد و عدم نمایش آنها در myView.cshtml

    Solved
    داخل حلقه بجای item.CategoryID گذاشتم item.categoryID - باید camel Casing باشه - عجب !!


  5. #5
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: عدم دریافت اطلاعات از اکشن متد و عدم نمایش آنها در myView.cshtml

    ممنون از پاسخ گویی تون. بیرون از ajax که result را نمیشناسه.
    منظور بعد از دریافت پاسخ ایجکس توی success بود

    اینجوری رشته و متن رو متصل کن خیلی ساده تره

                         html += `
    <tr>
    <td>${item.CategoryID}</td>
    <td>${item.CategoryName}</td>
    </tr>
    ` ;

  6. #6

    نقل قول: عدم دریافت اطلاعات از اکشن متد و عدم نمایش آنها در myView.cshtml

    کد شما خیلی خوانا تر شد ایول. فقط باز هم باید همون کاراکتر اول را با حروف کوچک مینوشتم. ممنون میشم اگر یک منبع/ کتاب یا وبسایت واسه اموزش ajax/jquery معرفی کنید. چون الان مثلا نمیفهمم چرا و کجا باید حروف ستونهای مدل/جدول را کوچک بنویسم یا سینتکس نگارش را بدرستی بلد نیستم. سایت w3school وارد این جزییات نشده بود.

  7. #7
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: عدم دریافت اطلاعات از اکشن متد و عدم نمایش آنها در myView.cshtml

    اون نام گزاری ها برمیگرده به زبان بک اندت
    چون دیتبایس و خوندن از دیتبایس رو با زبان بک اندت انجام میدی (که فکر میکنم C#‎ باشه برای شما )
    توی ajax فقط نتیجه رو دریافت میکنی و نمایش میدی پس ربطی به کد jquery نداره این و فقط یک نمایش دهندست و فقط چیزی که بهش میرسه رو نشون میده و در شکل گیری / ذخیره سازی / ساختش تاثیری نداره

    هر زبان بک اندی میتونه قواعد و استاندارد های مخصوص به خودش رو داشته باشه در رابطه با نام گزاری منم کارم asp نیست بهتره تو بخش خودش بپرسی
    ولی با php که من کار میکنم قاعده اینه که نام فیلد های دیتبایس و متغیر ها رو با حروف کوچیک مینویسیم
    و نام های کلاس ها و فایل ها رو با حروف بزرگ شروع میکنیم

    در نهایت فرقی نمیکنه اگه نام فیلد های دیتابیس با حروف بزرگ شروع میشن و موقع نمایش و چاپشون هم باید حروف بزرگ بزنی و اگرم کوچیکه حروف کوچک
    ولی خب بهتره سینتکس استاندارد رو انجام بدی هم میتونی تعامل بهتری داشته باشی وقتی کد ترو به بقیه نشون میدی و هم سرعت کد نویسی خودت بالاتر میره چون اگه از یک قاعده ثابت استفاده کنی احتمال خطای مثل این پایین میاد و وقتتت گرفته نمیشه برای چک کردن و رفع اشکال

تاپیک های مشابه

  1. حرفه ای: مشل در اجرای وب سایت ASP.NET Web Page (CSHTML) (.cshtml)
    نوشته شده توسط atryad در بخش ASP.NET MVC
    پاسخ: 0
    آخرین پست: یک شنبه 29 مهر 1397, 12:53 عصر
  2. سوال: انتقال داده به _Layout.cshtml از Controller
    نوشته شده توسط Iran58 در بخش ASP.NET MVC
    پاسخ: 1
    آخرین پست: سه شنبه 22 فروردین 1396, 10:09 صبح
  3. کار نکردن IntelliSense در فایل cshtml
    نوشته شده توسط vahid2112 در بخش ASP.NET MVC
    پاسخ: 3
    آخرین پست: دوشنبه 16 دی 1392, 18:38 عصر
  4. _Layout.cshtml فایل مهمی است؟
    نوشته شده توسط hogava در بخش ASP.NET MVC
    پاسخ: 6
    آخرین پست: شنبه 28 اردیبهشت 1392, 13:20 عصر
  5. پاسخ: 4
    آخرین پست: پنج شنبه 19 مرداد 1391, 15:33 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •