2010-02-16 24 views
2

这是ASP MVC中的一个常见问题。我有一个简单的搜索表单,有四个字段和一个搜索按钮。搜索按钮使用jquery来填充结果的html表格。ASP MVC Restful url和Ajax调用

的问题是,我们也在努力保持状态,为用户去到不同的网页,然后打回,我们要填充搜索文本搜索字段和重新填充的效果。

由于填充调用是Ajax,所以URL不会被重写为正确的状态。

有没有一个ASP MVC的首选方法呢?或者我们坚持做后贴?

回答

2

您可以随时根据您正在进行的AJAX搜索更新您的网址。

然后在jQuery的ready事件中,如果存在,使用存储在URL中的参数进行搜索; !)

所以一旦用户沿着或重新加载书签搜索动作,taraaaaa ...搜索仍然是:d

UPDATE:我的团队说,使用你的URL的哈希标记将是一个干净的方法: P

here >>detecting-back-button-hash-change-in-url < <你会发现尊重和一些技术方面的信息; )

1

一般来说,对于这种操作,回发(实际上不是这样,你只是导航回到同一页面,并且我假设这些项目是GET操作的一部分,所以在那里没有“后)是您想要的东西。

这样做的原因是因为你的URL结构变得马虎。如果我想书签搜索结果,我将如何去这样做?我可以因为你决定通过AJAX下载大量的内容

作为一般的经验法则,如果你要下载大量的内容到你的浏览器,你应该ge通常都有一个URL,因为它本身就是一个资源。

至于维护状态,如果你想在不重写URL的情况下(换句话说,当他们去“/ search”,你想要以前的结果),你可以将表单域存储在一个cookie中,从cookie或URL中的值填充它,或使用某种数据库来存储首选项。

基本上,每次有人向该页面提交值时,都会将它们写入数据存储区(cookie,文件,数据库等)。否则,如果在该页面上,则使用您用来识别当前用户的任何内容从商店中检索它们。