在我的控制器操作中,我有以下代码:
...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
是一个看起来像这样的网址:“〜/ Journal / Search”。
在return Redirect
行,我得到一个例外情况:
此处不允许使用相对虚拟路径'~Journal / Search'。
答案 0 :(得分:1)
我的代码存在的问题是,我尝试重定向到的网址,如异常消息所报告的,是一个格式错误的 ~Journal / Search ,而不是〜/ JournalSearch 强>
另外,我发现如果你有一个ASP.NET虚拟相对URL,比如"〜/ Journal / Search"并且你想把它变成一个绝对的Url,你可以像这样调用UrlHelper.GenerateContentUrl
静态方法:
var url= UrlHelper.GenerateContentUrl("~/Journal/Search",
Request.RequestContext.HttpContext);