2017-05-10 67 views
0

我在我的网站上实施商店。选择产品后,我将用户重定向到银行网址。当我调试发现银行号码后,购买银行重定向用户到我的网站重定向用户到我的网站,因为我把银行中购买后用户回来的断点付诸行动。当用户从其他网站重定向到本网站时,哪部分mvc项目被调用?

我把断点放入Global.asax.csRegisterRoutes,但重定向到我的网站后,只称为特定动作。

我的推理是否正确?

我的测试是否正确?

+0

我不明白你为什么要使用global.asax事件?为什么不直接在mvc动作代码中获取查询字符串值? –

回答

1

您可以使用Application_AcquireRequestState()事件Global.asax.cs

Application_AcquireRequestState() - 在为客户端检索特定于会话的数据之前引发此事件并用于为当前请求填充Session Collection。

例子:

protected void Application_AcquireRequestState(Object sender, EventArgs e) 
{ 
     bool redirected = false; 
     if (!redirected) 
     { 
      var routeData = urlHelper.RouteCollection.GetRouteData(currentContext); 
      if (routeData != null) 
      { 
       var action = routeData.Values["action"] as string; 
       var controller = routeData.Values["controller"] as string; 
       if (controller != null && controller.ToLower() != "login" && controller.ToLower() != "manage") 
       { 
        var baseUrl = "http://localhost/"+ "home/Index"; 
        Response.Redirect(baseUrl); 
       } 
      } 
      else{ 
       Response.Redirect("~/Home/index"); 
      } 

     } 

} 

你可以找到更多的信息形式thisthis链接。

希望它对您有所帮助。

+0

我使用数字银行销售产品。每个银行将用户重定向到另一个行动 – programmer138200

+0

您可以传递查询参数。这是否足够的答案?那么不是简单地解释一下你真正想要的吗?像什么是'另一个行动' – Ashiquzzaman

+0

@ programmer138200我更新我的答案。 – Ashiquzzaman

相关问题