2013-08-12 3 views
1

У меня есть первый метод, приведенный ниже в dll. Я решил расширить его , чтобы я мог контролировать, на какую страницу перенаправить. В тот момент, когда Пропускаю returnUrl, ничего не происходит. Страница просто вернется к виду , где я ввел значения.Перенаправление на страницу с помощью mvc

? Я хочу, чтобы иметь возможность перенаправлять страницу, которая находится на этом пути/Views/Rental/Index Как я могу это достичь?

  [HttpPost] 
       public virtual ActionResult CreateAccount(CreateNewAccountInfo createNewAccountInfo, WebSite webSite, string returnUrl) 
       { 
        if (this._accountManager.UserNameAlreadyExists(createNewAccountInfo.UserName)) 
        this.ModelState.AddModelError("CreateNewAccountInfo", ErrorMessageProvider.CreateNewAccountInfo_UserName_AlreadyExists); 

        if (this.ModelState.IsValid) 
        { 
        this._accountManager.CreateNewAccount(createNewAccountInfo);   
        return this.RedirectToReturnUrl(returnUrl); 
        } 
        else 
        { 
        SignIn1ViewModel signIn1ViewModel = this.CreateSignIn1ViewModel(webSite, returnUrl); 
        this.SetupGuestCheckout(webSite, returnUrl, signIn1ViewModel); 
        return (ActionResult) this.View(signIn1ViewModel.WebPage.ViewName, (object) signIn1ViewModel); 
        } 
       } 


      public override ActionResult CreateAccount(CreateNewAccountInfo createNewAccountInfo, WebSite webSite, string returnUrl) 
        { 
         returnUrl = "../Views/Rental/Index"; 
         base.CreateAccount(createNewAccountInfo,webSite,returnUrl); 

         return base.CreateAccount(createNewAccountInfo, webSite, returnUrl);    

        } 
+0

Вы пробовали [.net MVC перенаправление на внешний URL] (HTTP: // stackoverflow.com/questions/1549324/net-mvc-redirect-to-external-url)? – Romoku

+0

Нет. Как это работает? Обратите внимание, что я не могу изменить dll. Все, что мне нужно сделать, должно быть сделано из того, где я делаю переопределение. – user2320476

ответ

0

Что о:

return RedirectToAction("Index", "Rental"); 
+0

Отлично работает. Благодарю. – user2320476

+0

Np. Помните, что в MVC ваши URL-адреса теперь сопоставляются действиям, а не страницам, поэтому обычно RedirecToAction будет вашим другом, если вы выполняете внутреннюю переадресацию. –

0

Вы можете использовать ASP.NET MVC соглашения .:

RedirectResult("http://www.google.com"); 
+0

Спасибо. Где это будет в методе, который я преобладаю? – user2320476

+0

Здесь возвращает this.RedirectToReturnUrl (returnUrl); –

+0

Мой файл находится здесь «../Views/Rental/Index», и я использовал этот путь для возврата this.RedirectToReturnUrl («../ Views/Rental/Index»); но пока не удается отобразить страницу. Вы знаете, что еще я могу попробовать? – user2320476