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

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

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

نرفتن به action با redirecttoaction

  • شنبه 26 تیر 1395
  • 12:13
تشکر میکنم

با سلام.

Register Action زیر را در نظر بگیرید:

 [HttpPost]
        [AllowAnonymous]
        [ValidateAntiForgeryToken]
        public async Task<ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser
                {
                    Name = model.Name,
                    Family = model.Family,
                    UserName = model.Email,
                    PasswordHash = model.Password,
                    Email = model.Email,
                };
                var result = await UserManager.CreateAsync(user, model.Password);
                if (result.Succeeded)
                {
                    //await this.UserManager.AddToRoleAsync(user.Id, "Customer");
                    //// await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
                    //// For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                    //// Send an email with this link
                    //string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    //var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    //await UserManager.SendEmailAsync(user.Id, "فعال سازی حساب کاربری",
                    //    "ثبت نام شما با موفقیت انجام شد.<br>برای فعال سازی حساب کاربری روی لینک زیر کلیک کنید<br> <a href=\"" + callbackUrl + "\">فعال سازی</a>");

                    return RedirectToAction("SuccessfulRegistration");
                }
                //AddErrors(result);
            }
            // If we got this far, something failed, redisplay form
            return RedirectToAction("Login");
        }

در خط 29 به  SuccessfulRegistration Action نمی رود و در صورتی که در خط 29 عبارت RedirectToAction را به View تبدیل کنم به این اکشن می رود.

SuccessfulRegistration Action هم به صورت زیر است:

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

لطفا راهنمایی نمایید

با تشکر

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

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

ایمان مدائنی

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

  • شنبه 26 تیر 1395
  • 14:32

از Ajax که استفاده نکردید ؟

به صورت عادی پست میشه ؟

چک کنید اصلا وارد if میشه ؟

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • شنبه 26 تیر 1395
  • 16:48

خیر استاد.

بله وارد if می شود

وقتی return RedirectToAction("Index","Home") می نویسم به اکشن می رود و هنگامی که می نویسم  return view("SuccessfulRegistration")  درست عمل می کند.

لطفا راهنمایی نمایید

با تشکر

کاربر سایت

ایمان مدائنی

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

  • شنبه 26 تیر 1395
  • 18:06

به صورت زیر انجام دهید

return Redirect("/Home/SuccessfulRegistration");

 

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • شنبه 26 تیر 1395
  • 20:14

استاد من اکشن successfulRegistration رو تو Account controller تعریف کردم.

وقتی می نویسم  redirectToAction("Index","Home") درست جواب می ده اما وقتی می نویسم redirectToAction("SuccessfulRegistration") جواب نمی ده

Redirect("/Account/SuccessfulRegistration"); هم جواب نداد

لطفا راهنمایی نمایید

با تشکر

 

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • شنبه 26 تیر 1395
  • 20:23

استاد وقتی SuccessfulRegistration Action رو به Home Controller بردم درست شد.

علت اینکه اگر این اکشن را در Account تعریف کنم جواب نمی دهد چیست؟

لطفا راهنمایی نمایید

با تشکر

کاربر سایت

ایمان مدائنی

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

  • یکشنبه 27 تیر 1395
  • 08:37

چون در کنترلر دیگری قرار دارد

میتونید صداش بزنید فقط باید نام کنترلر را نیز قید کنید

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • یکشنبه 27 تیر 1395
  • 14:40

استاد محترم

من ابتدا یک action به نام Successfullregistration در کنترلر Account ساختم و View مربوط به آن را هم ساختم. سپس در اکشن Register می نویسم RedirectToAction("SuccessfulRegistration") و به این اکشن نمی رود.

سپس من آمدم اکشن SuccssfullRegistration را به کنترلر Home انتقال دادم و در آنحا برایش View ساختم. سپس در کنترلر Account و اکشن Register می نویسمRedirectToAction("Home","SuccessfulRegistration") و جواب درست می دهد.

اگر امکان دارد بفرمایید که چرا این اکشن در کنترلر Account عملی انحام نمی دهد و هنگامی که به کنترلر Home برده می شود درست عمل می کند؟

با تشکر

کاربر سایت

ایمان مدائنی

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

  • یکشنبه 27 تیر 1395
  • 16:23

در اصل نباید اینگونه باشد

امکان داره تغییری در فایل یا فضای نام وجود داشته باشه

 

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

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

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

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