2016-07-07 128 views
1

在我的控制器操作允許,我有以下代碼:相對虛擬路徑不在這裏

...more code 

if (...) 
{ 
    // create a site user 
    await this.CreateUserAndSignHimInAsync(UserType.SiteUser, model); 

    var landingPageUrl = IdentityManager.GetLandingPageUrl(model.Email); 

    return Redirect(landingPageUrl); 
} 

...more code 

landingPageUrl是URL看起來像這樣:「〜/雜誌/搜索」。

return Redirect線,我得到的是說,一個例外:

相對虛擬路徑「〜雜誌/搜索」這裏不允許使用。

+0

這是返回一個'RedirectResult'的MVC'Controller.Redirect'方法。我想我已經接近找到解決我的問題的方法了。 –

回答

1

我的代碼的問題是,是,我是想在URL重定向到由異常消息報道,是一種病態的〜雜誌/搜索,而不是〜/ JournalSearch

另外,我發現如果你有一個像「〜/ Journal/Search」這樣的ASP.NET虛擬相對URL,並且你想把它變成一個絕對的Url,你可以調用UrlHelper.GenerateContentUrl這樣的靜態方法:

var url= UrlHelper.GenerateContentUrl("~/Journal/Search", 
     Request.RequestContext.HttpContext);