在jquery中为url添加参数,并在asp.net后面的代码中重用它们
append parameters to url in jquery and reuse them them in code behind asp.net
我有一个aspx页面(URl像XYZ。aspx),并在其中显示一些10图像和数据和图像的颜色作为page_load事件上的过滤器,当单击该颜色过滤器时,我正在进行ajax调用并获得相应的数据并替换旧数据并显示这些2,3图像结果。我的URL没有改变,因为它是ajax调用,如果我刷新页面(XYZ.aspx),它将再次显示这10个图像和数据。但我想追加所选颜色的url(如XYZ.aspx/color -blue,红色),当我做ajax调用,如果我刷新页面有url XYZ。aspx/Color-blue,red然后我可以在代码后面读取这些参数,并获得相关的2,3图像并显示在page_load事件中,而不是10图像和数据。我应该怎么做,最好的方法是,这已经实现了,你可以看到在flipkart过滤器在产品列表页面。
据我所知,您可以使用称为history的特殊浏览器对象手动保存此URL。因此,在进行ajax调用之前,将您的颜色参数附加到url字符串,即像这样
var url = <url of your controller method> + "?color=blue,red;
然后使用历史对象- pushState
的方法保存此url,如下所示:
history.pushState({ url }, "", url);
这将改变浏览器地址栏中的url,所以当你刷新页面时,必要的数据将从服务器加载。
在你的ajax请求中使用这个url(不需要设置参数)
在服务器端使控制器方法接受一个string
参数并获取您的数据(我相信这是您已经完成的方式)。请注意,当您使用浏览器按钮向后/向前导航时,您应该手动执行一些操作来恢复此状态。
当我再考虑这个问题时,我意识到你可能会遇到一个问题。当刷新页面时,您将只收到数据,而没有相应的视图。为了解决这个问题,您可以检查它是否是ajax调用(调用Request.IsAjaxRequest()
),并返回数据/视图与数据(其中一个符合您的需求)。
- 检查浏览器'在asp.net的后端代码中启用或禁用了s JS
- 在vs.net 2010中调试JavaScript代码
- 在Asp.net的TextBox中插入所需文本的java脚本代码
- 使用C#将在JavaScript中创建的变量值传递给ASP.Net中的服务器端(代码隐藏)
- Asp.net将代码背后的数据传递给Javascript并调用数组
- 在代码隐藏 (asp.net VB) 中返回“完整”客户端 ID
- 如何在 asp.net 中从 javascript 调用服务器端代码
- 从 asp.net 代码隐藏中触发JavaScript函数
- 在代码后面从window.confirm中检索值.[VB.net]
- 如何从vb,net后面的代码中调用这个Js函数
- 如何在没有Ajax的ASP.NET 2.0中在执行C#代码的过程中打开showModalDialog
- ASP.NET:每5分钟从代码后面调用一次弹出窗口
- ASP.net javascript调用代码behing方法
- ASP.NET控件代码隐藏未执行
- 正在将代码库中的C#变量更新到asp.net
- 带有Asp.NET代码的JQuery消息
- 解释Asp.net中的滑块代码
- 在ASP.NET代码块中使用javascript变量
- 用于导出Excel的.Net MVC 4.5 JqGrid按钮功能不起作用.什么'我的代码错了
- 如何在ASP中组织前端JavaScript代码.. NET MVC项目