【问题标题】:Blank screen in rendering Page Areas after update from Asp.net MVC 4 to MVC 5从 Asp.net MVC 4 更新到 MVC 5 后呈现页面区域的空白屏幕
【发布时间】:2013-12-24 09:44:05
【问题描述】:

我有一个 Facebook 应用程序作为我网站内的一个区域。它是使用 Microsoft.Mvc.Facebook 命名空间并遵循 Visual Studio 2012 附带的 Facebook 模板开发的。

在我将项目升级到 ASP.NET MVC 5 之前一切正常。 现在,每当我从 Facebook 打开应用程序时,都会出现白屏。没有例外。没有应用程序错误。任何事物。我什至可以逐步调试代码到视图和布局,它看起来一切正常,但是......它没有呈现任何东西。

一些信息可能会有所帮助。这是我的区域注册:

public class FacebookAreaRegistration : AreaRegistration
    {
        public override string AreaName
        {
            get
            {
                return "Facebook";
            }
        }


        public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRoute(
                name: "Facebook_default",
                url: "Facebook/{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
                namespaces: new[] { "MvcPoli.Areas.Facebook.Controllers" }
            );


            DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("Facebook")
            {
                // Register a DisplayMode of "Facebook" for views that are rendered from this area
                ContextCondition = c => c.Request.Url.Segments.Length >= 2 && c.Request.Url.Segments[1].TrimEnd('/').Equals("facebook", StringComparison.OrdinalIgnoreCase)
            });
        }
    }

所有控制器都是通过简单地从主站点中的相关控制器继承来在区域内创建的。例如:

public class ActionController : MvcPoli.Controllers.ActionController
    {


    }

唯一的例外是 HomeController 由于 facebook 例程而具有不同的签名(我在这里删除了业务代码):

public class HomeController : MvcPoli.Controllers.PoliBaseController
    {
        //
        // GET: /Facebook/Home/

        [FacebookAuthorize("email", "user_hometown", "user_location")]
        public async Task<ActionResult> Index(FacebookContext context)
        {
         }

public ActionResult Permissions(FacebookRedirectContext context)
        {
            if (ModelState.IsValid)
            {
                return View(context);
            }

            return View("Error");
        }
      }

但是,如前所述,升级前一切正常。 你能帮帮我吗?!?

【问题讨论】:

    标签: asp.net-mvc facebook asp.net-mvc-5


    【解决方案1】:

    经过一个月的努力,我们找到了解决办法! ASP.NET MVC 5 自动添加了 X-Frame-Options 属性拒绝分帧:

    After update to MVC 5, iframe no longer works

    希望这可以帮助其他人!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-30
      • 2010-10-29
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多