我在这个上搜索了几个小时,没有找到一个有效的答案。基本上我要做的是以下内容:
我使用设置参数E.G:
访问我的索引页面http://localhost:51684/Orders/Index?startDate=20%2F05%2F2015&endDate=26%2F05%2F2015
然后我点击订单进入编辑视图:
http://localhost:51684/Orders/Edit/1400069
我编辑了一些值而我发布:保存后我返回此编辑视图但我的Request.UrlReferrer是:http://localhost:51684/Orders/Edit/1400069而不是索引
一位同事建议尝试查看标题
所以我尝试了以下操作:在开始时添加自定义响应标头,以便随时可以访问它,如下所示: global.asax
中的代码protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
HttpContext.Current.Response.Headers.Add("SavedFilters", "/Orders/Index"); //Standard Value
Response.Headers.Remove("Server");
Response.Headers.Remove("X-AspNet-Version");
Response.Headers.Remove("X-AspNetMvc-Version");
}
当我在索引页面中应用过滤器时,我会这样做:
System.Web.HttpContext.Current.Response.Headers.Set("SavedFilters", Request.RawUrl);
然后当我看到小提琴应用程序时会发生这种情况:
SavedFilters: /?startDate=20%2F05%2F2015&endDate=26%2F05%2F2015
SavedFilters: /Orders/Index
我得到2个标题完全相同的标题......
我对接下来要做什么/接下来尝试很无能为力..任何帮助都会非常感激
答案 0 :(得分:0)
如果你没有在个别网络电话回复的实际回复中专门设置一个,那么你想发送“SavedFilters”的默认标题值吗?
简单,将 global.asax 中的代码更改为:
protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
if (!HttpContext.Current.Response.Headers.AllKeys.Contains("SavedFilters"))
HttpContext.Current.Response.Headers.Add("SavedFilters", "/Orders/Index"); //Standard Value
Response.Headers.Remove("Server");
Response.Headers.Remove("X-AspNet-Version");
Response.Headers.Remove("X-AspNetMvc-Version");
}