Asp.net mvc ASP MVC Restful URL和Ajax调用

Asp.net mvc ASP MVC Restful URL和Ajax调用,asp.net-mvc,rest,Asp.net Mvc,Rest,这是ASP MVC中的一个常见问题。我有一个简单的搜索表单,有四个字段和一个搜索按钮。搜索按钮使用jquery用结果填充html表 问题是,我们还试图保持状态,因为在用户转到另一个页面然后回击时,我们希望用搜索文本填充搜索字段并重新填充结果 因为填充调用是Ajax,所以URL没有用正确的状态重写 是否有ASP MVC首选的方法?或者我们一直在做回发吗?一般来说,对于这种操作,回发(实际上不是这样的,您只是导航回同一页面,我假设这些项目是GET操作的一部分,因此没有“post”)是您不想要的 这是

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

问题是,我们还试图保持状态,因为在用户转到另一个页面然后回击时,我们希望用搜索文本填充搜索字段并重新填充结果

因为填充调用是Ajax,所以URL没有用正确的状态重写


是否有ASP MVC首选的方法?或者我们一直在做回发吗?

一般来说,对于这种操作,回发(实际上不是这样的,您只是导航回同一页面,我假设这些项目是GET操作的一部分,因此没有“post”)是您不想要的

这是因为你的URL结构变得松散。如果我想给搜索结果添加书签,我该怎么做?我不能,因为你决定通过AJAX下载大量内容

一般来说,如果你要将大量内容下载到浏览器中,你通常应该有一个URL,因为它本身就是一个资源

至于维护状态,如果您希望在不重写URL的情况下执行此操作(换句话说,当他们转到“/search”时,您需要以前的结果),您可以将表单字段存储在cookie中并从cookie中填充,或者将值存储在URL中,或者使用某种数据库来存储首选项


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

您始终可以根据正在进行的AJAX搜索更新URL

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

因此,一旦用户移动或重新加载带书签的搜索,taraaaaa!…搜索仍然是:D

更新:我的团队说,在URL中使用哈希标记将是最干净的方法:p

这里>>