从ajax调用确定引用者的MVC3区域的更好方法

时间:2012-01-03 16:41:01

标签: asp.net-mvc asp.net-mvc-3 jquery

我有一个ajax调用,它获取特定用户的事件列表,它可以正常运行没有任何问题ajaxy。当我从应用程序的管理区域调用它时,我希望它的行为略有不同,但我发现确定是否从管理区域调用它的唯一方法是检查Referrer段并查看引用页面是否在管理区域。

是否有不同的(更多内置的MVC)方法来做到这一点?

此时调用的动作看起来像

public ActionResult Events(string recorded, bool ongoing)
{
 if (this.Request.UrlReferrer.Segments.Contains("Administration/"))
           :

并且工作正常,它看起来有些小巧。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

网址引荐来源是您可以使用的唯一指示。但是如果这对你来说很麻烦,只需在从某个区域调用时为你的AJAX调用添加一些参数:

public ActionResult Events(string recorded, bool ongoing, bool isAdminAreaOrigin = false)
{
    if (isAdminAreaOrigin)
    {
        ...
    }

    ...
}

答案 1 :(得分:0)

RouteData.DataTokens["area"]