首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >重定向后如何更新div的内容?

重定向后如何更新div的内容?
EN

Stack Overflow用户
提问于 2012-01-02 18:07:21
回答 2查看 446关注 0票数 0

这似乎是不可能的,但我还是会问的。下面是这个场景

我有一个MVC 3视图,它加载3个部分视图,一个用于登录,一个用于注册,另一个用于OpenID登录。

但是,前两个视图在Ajax中运行得很好;第三个视图使用ajax将文章发布到我的openid控制器上,在这里我执行了一些DotNetOpenAuth魔术。

示例:

代码语言:javascript
代码运行次数:0
运行
复制
 var response = authenticationRequest.RedirectingResponse;
                if(response.Status == HttpStatusCode.Redirect)
                {
                    return Json(new {redirectUrl=response.Headers[HttpResponseHeader.Location] });    
                }

我正在从控制器OpenId Login表单中重定向返回的Json,“记住这个帖子是通过ajax发布的”。因此,在重定向之后,我想将div的内容替换为初始的openid登录部分视图,根据重定向到提供者之后发生的情况,使用一个新的视图来替换div的内容,然后用户登录,然后在我的actionMethod中得到一个响应。例如,我将检查我的数据库,看看我是否已经有一个帐户为开放的id。如果我不这样做,我想用一些基本问题等向用户提出一个部分观点。然后让他们添加打开的id帐户。

因此,这似乎是不可能的,因为重定向扼杀了将数据返回到原始页面的任何机会。

有什么想法吗?

按要求处理子弹:

在部分视图中呈现带有表单的redirectUrl

  • OnSuccess主视图的
  • 主视图将ajax post呈现给redirectUrl
  • OnSuccess中的ActionMethod,控制器中的Json返回带有json回调函数的Json,读取Json结果,客户端重定向到redirectUrl
  • User登录到openid提供程序的location
  • OpenId提供程序将结果发送回在开放Id上生成初始Json result
  • Perform DB查找的相同ActionMethod,如果未找到用户则返回部分视图,如果找到,则返回部分视图。

我希望在登录表单所在的原始div中找到用户未加载的视图id。这不管用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-04 15:17:06

一个完整的页面重定向会破坏原始页面,所以不能让后续的重定向将用户重新定向到原始页面,只更新一个<DIV>

你至少有两种选择:

  1. 只需将整个页面重定向,当身份验证结果从提供者返回时,您的MVC控制器将重新呈现整个原始页面。缺点:控制器无法从先前存在的其他视图中恢复任何特定于用户的状态。
  2. 使用弹出窗口登录用户,当登录完成时,弹出窗口会自动关闭,将身份验证数据传递给父页面,然后父页可以重新呈现它想要的任何部分。

DotNetOpenAuth支持这两种方法,但是当然在控制器和视图中有大量的代码必须编写到库之外。我确实有一个示例,它演示了一个相对完善的#2实现。这是在http://openidux.dotnetopenauth.net/,但这个网站现在似乎已经瘫痪了。但是您可以看到一个屏幕截图,并在这里下载一个项目模板:http://visualstudiogallery.msdn.microsoft.com/81153747-70d7-477b-b85a-0374e7edabef

票数 1
EN

Stack Overflow用户

发布于 2012-01-02 19:12:19

您可以简单地将数据存储在会话中、使用缓存或使用TempData。缓存当然会清除自身,因此不需要维护。

TempData将在其读取后自行清除。因此,您可以选择再次访问该数据,即使不将其存储在db中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8703887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档