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

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

کاربر سایت

negarin

عضویت از 1396/01/05

بروزرسانی رمز ورود

  • سه شنبه 4 مهر 1396
  • 13:36
تشکر میکنم

آقای مداینی با سلام

من کلاس eshop شما امده بودم الان در پروژه ام خواستم از بازیابی پسوردی که شما استفاده کردید، استفاده کنم اما مطابق عکسی که فرستادم ایراد میگیرد در حالیکه در پروژه ای که شما نوشتید کار میکند

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

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

ایمان مدائنی

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

  • سه شنبه 4 مهر 1396
  • 14:32

عکس ضمیمه نشده

متن ارور را قرار دهید

کاربر سایت

negarin

عضویت از 1396/01/05

  • سه شنبه 4 مهر 1396
  • 15:05

در کلاس PartialToStringClass  در خط 

 var controller = controllerFactory.CreateController(requestContext, requiredString) as ControllerBase;

خطای زیر را میدهد ، البته من نمیخوام از activecode  استفاده کنم

The controller for path '/Account/RecoveryPassword' was not found or does not implement IController.

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • سه شنبه 4 مهر 1396
  • 15:26

کنترلر Account شما IController را پیاده سازی نکرده است به همین علت این خطا رخ می دهد.

کاربر سایت

ایمان مدائنی

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

  • سه شنبه 4 مهر 1396
  • 15:52

نحوه فراخوانی این کلاس را قرار دهید

کاربر سایت

negarin

عضویت از 1396/01/05

  • سه شنبه 11 مهر 1396
  • 11:59
        [HttpPost]
        public ActionResult RecoveryPassword(RecoveryPasswordViewModel recovery)
        {
            if (ModelState.IsValid)
            {
                var user = db.Users.SingleOrDefault(u => u.Email == recovery.Email);
                if (user != null)
                {
                    if (user.IsActive)
                    {
                        string Body = PartialToStringClass.RenderPartialView("EmailSender", "RecoveryPassword", user);

                        SendEmailGmail.Send(user.Email, "بازیابی کلمه عبور", Body);


                        ViewBag.IsSuccess = true;
                    }
                }
                else
                {
                    ModelState.AddModelError("Email", "کاربری یافت نشد");
                }
            }
            return View(recovery);
        }

نحوه فراخوانی کلاس

کاربر سایت

ایمان مدائنی

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

  • سه شنبه 11 مهر 1396
  • 16:27

کد صحیح است

چک کنید کنترلر و اکشن مورد نظر وجود داشته باشد

کاربر سایت

negarin

عضویت از 1396/01/05

  • چهارشنبه 12 مهر 1396
  • 16:15

من کل کارهایی که توی پروژه ایشاپ بود انجام دادم کلاسهایی که باید، اضافه کردم فقط میخوام ببینم در قسمتهای دیگه مثلا در کانفیگ ها کاری کردید که من انجام ندادم چون دوباره همان خطایی که در بالا ذکر شده است را میگیرم کد کنترلر:

   public ActionResult RecoveryPassword()
        {
            return View();
        }


        [HttpPost]
        public ActionResult RecoveryPassword(RecoveryPasswordViewModel recovery)
        {
            if (ModelState.IsValid)
            {
                var user = db.Personnels.SingleOrDefault(u => u.Email == recovery.Email);
                if (user != null)
                {
            
                        string Body = PartialToStringClass.RenderPartialView("EmailSender", "RecoveryPassword", user);

                        SendEmailGmail.Send(user.Email, "بازیابی کلمه عبور", Body);


                        ViewBag.IsSuccess = true;
                }
                else
                {
                    ModelState.AddModelError("Email", "کاربری یافت نشد");
                }
            }
            return View(recovery);
        }

و کد ویو:

@model FACPSP.Models.RecoveryPassword.RecoveryPasswordViewModel

@{
    Layout = null;
}

<h2>بازیابی کلمه عبور</h2>


@if (ViewBag.IsSuccess != null)
{
    <div class="alert alert-success">
        <p>
            ایمیلی حاوی لینک بازیابی کلمه عبور برای شما ارسال شد .
        </p>
    </div>
}
else
{
    using (Html.BeginForm())
    {
        @Html.AntiForgeryToken()

        <div class="form-horizontal">
            <hr />
            @Html.ValidationSummary(true, "", new { @class = "text-danger" })
            <div class="form-group">
                @Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
                    @Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
                </div>
            </div>

            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <input type="submit" value="ارسال لینک" class="btn btn-info" />
                </div>
            </div>
        </div>
    }


}

و کلاسهای PartialToStringClass و SendEmailGmail را اضافه کردم اما خطام رفع نشد

کاربر سایت

ایمان مدائنی

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

  • چهارشنبه 12 مهر 1396
  • 21:33

من کدهاتون رو چند بار خوندم و مشکلی ندیدم

کد را Trace کنید ببینید مشکل را پیدا میکنید

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

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

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

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