مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

roya

عضویت از 1392/08/22

پیغام خطای System.ArgumentOutOfRangeException

  • جمعه 5 مرداد 1397
  • 19:24
تشکر میکنم

سلام دوستان

من در این قسمت از razor که یک متد رو فراخوانی کردم این پیغام خطارو دریافت میکنم(البته در صورتی که جدول dep رکوردی برای کاربرم نداشته باشه)

System.ArgumentOutOfRangeException: 'Index was out of range. Must be non-negative and less than the size of the collection.'

این هم کدم در کنترلر:

  public int NumberOfDep()
        {
            var username = User.Identity.Name.ToString();
            //var userid = db.Users.Where(u => u.UserName == username).Select(a=>a.UserID);
            var userid = db.Users.First(u => u.UserName == username).UserID;
            var Deps = db.Dep.Count(d => d.UserID == userid);


            if (Deps >0)
                return db.Dep.Count(d => d.UserID == userid);

            return 0;
            
           
        }

و در view:

 <span class="badge badge-primary badge-pill">"@Url.Action("NumberOfDeposit", "Default")"</span>

لطفا راهنمایی کنید ممنون.

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 6 مرداد 1397
  • 12:35

در متد ابتدا بررسی کنید کاربر لاگین باشد

کاربر سایت

roya

عضویت از 1392/08/22

  • شنبه 6 مرداد 1397
  • 12:54

سلام استاد خسته نباشید

بله در مراحل trace  مقدار userid پر میشه و مقدار NumDep هر صفر return میشه اما باز هم در ویو پیغام خطا صادر میشه؟؟؟؟؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 6 مرداد 1397
  • 13:14

در کدتون چیز مشکوکی نیست 

تنها این مورد بود که میگید مقدار داره 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)