Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 浏览器后退按钮不填充MVC应用程序中的下拉列表值_C#_Asp.net_Asp.net Mvc_Partial Views - Fatal编程技术网

C# 浏览器后退按钮不填充MVC应用程序中的下拉列表值

C# 浏览器后退按钮不填充MVC应用程序中的下拉列表值,c#,asp.net,asp.net-mvc,partial-views,C#,Asp.net,Asp.net Mvc,Partial Views,我有一个用c#构建的MVC5应用程序。我的视图上有5个下拉列表 这些下拉列表是局部视图。 下拉列表的内容:- 1) 城市名单 2) 事件列表 3) 场馆名单 4) 日期表 5) 次数表 所以当第一次加载页面时,城市就会被填充。当我选择一个城市时,第二个下拉列表将填充事件列表。现在,当我选择一个活动时,下一个下拉列表将填充场地。同样的过程也会发生在所有的下拉列表中(当然,对于times下拉列表,没有任何更改事件,因为它是最后一个) 现在有一个提交按钮,当我点击这个按钮时,它会使用controlle

我有一个用c#构建的MVC5应用程序。我的视图上有5个下拉列表

这些下拉列表是局部视图。 下拉列表的内容:-

1) 城市名单

2) 事件列表

3) 场馆名单

4) 日期表

5) 次数表

所以当第一次加载页面时,城市就会被填充。当我选择一个城市时,第二个下拉列表将填充事件列表。现在,当我选择一个活动时,下一个下拉列表将填充场地。同样的过程也会发生在所有的下拉列表中(当然,对于times下拉列表,没有任何更改事件,因为它是最后一个)

现在有一个提交按钮,当我点击这个按钮时,它会使用controllers方法将我重定向到新页面。签名如下

public ActionResult Redirect(string hdn_city, string hdn_event, string hdn_date, string hdn_venue, string hdn_time)  
{
    string urls = String.Format("mysite.com?cid={0}&eid={1}&did={2}&vid={3}&tid={4}", hdn_city, hdn_event, hdn_date,hdn_venue,hdn_time);             
    return Redirect(urls);
}
现在,当我提交此表单时,我会被重定向到mysite.com,并在查询字符串中传递所有参数


现在我的问题是,如果在访问mysite.com后,我按下browser back按钮,下拉列表的值应该保持不变,那么这是必需的。我不必再重复整个过程。请向我推荐可能的替代方案。

您可以使用Cookie、TempData或历史Javascript(仅限Html5)。 或者,您也可以在末尾回发以在浏览器中保存值

您只能保存选定的值,并重新加载关联数据

像这样回发:

我能想到的最简单的方法是使用查询字符串存储选定的值。 例如,选择城市时,重定向到

/selectionPage?城市=selectedCity

然后,在选择事件时,重定向到

/selectionPage?城市=selectedCity&event=selectedEvent

等等。
这样,您将在查询字符串中拥有所有选定的值,因此在浏览器历史记录中向后/向前移动将按原样工作。

我将断点放在控制器中的操作方法上。但当我使用浏览器后退按钮时,断点没有被击中,因为浏览器缓存。您可以为特定操作禁用该属性(使用action属性,请参阅)。但你为什么要这么做?如果页面是无状态的(即,根据查询字符串填充下拉值),则可以将其缓存。谢谢Alexandr Sugak。我想我需要以某种方式使用查询字符串。我在等待任何能帮助我避免这种情况的解决方案。