小编cyr*_*llo的帖子

ASP.NET MVC区域可以显示自己的错误页面集吗?

我一直在将我的一些Web应用程序整合到一个主要的ASP.NET MVC项目中; 将其中一些分配给单独的区域,以便可以通过子域访问它们.

使用这个(很有用)资源(https://dusted.codes/demystifying-aspnet-mvc-5-error-pages-and-error-logging),我已经设置了customErrorshttpErrorsWeb.config,使自定义错误页面显示.效果很好.

我将在Area/subdomain中使用不同的布局/样式,所以我想知道: 如何让Area显示自己的错误页面?

使用当前设置,所有子域都将显示添加到customErrorshttpErrors部分的主要自定义错误集(403.html,404.html等); 但我更喜欢为某些子域定制错误页面.(例如,如果其中一个区域完全由一个单独的域处理,那么提供常规错误页面是不切实际的.)

更新: 这是根据请求使用代码的方案.感谢Ben Foster,他在这里提供了很好的指导:http://benfoster.io/blog/aspnet-mvc-custom-error-pages 2.我已经为customErrors设置了代码,但是没有相应的httpErrors ...为了简洁起见.

  <system.web>
    <customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/500.aspx">
      <error statusCode="404" redirect="~/404.aspx" />
      <error statusCode="500" redirect="~/500.aspx" />
    </customErrors>
  </system.web>

  <location path="MyArea1">
    <system.web>
      <customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/Areas/MyArea1/500.aspx">
        <error statusCode="404" redirect="~/Areas/MyArea1/404.aspx" />
        <error statusCode="500" redirect="~/Areas/MyArea1/500.aspx" />
      </customErrors>
    </system.web>
  </location>

  <location path="MyArea2">
    <system.web>
      <customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/Areas/MyArea2/500.aspx">
        <error statusCode="404" redirect="~/Areas/MyArea2/404.aspx" />
        <error statusCode="500" redirect="~/Areas/MyArea2/500.aspx" />
      </customErrors>
    </system.web>
  </location> …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc web-config custom-errors

9
推荐指数
1
解决办法
1466
查看次数

通过JoinQueryOver获取:获得伟大的孩子,知道父亲

对象结构:房子有很多房间.一个房间有很多桌子.一张桌子上有很多花瓶(上面).

房子>房间>桌子>花瓶.

我想使用JoinQueryOver选择所有带有红色花瓶的表 - 在特定的房子里.

我想这样做:

var v = session.QueryOver<House>()
    .Where(x => x.ID == HouseID)
        .JoinQueryOver<Room>(x => x.Rooms)
            .JoinQueryOver<Table>(x => x.Tables)
                .JoinQueryOver<Vase>(x => x.Vases)
                    .Where(x => x.Color == "Red")
    .SingleOrDefault<House>();
Run Code Online (Sandbox Code Playgroud)

这是我尝试的一种方法(许多方法都失败了).我真的不想要房子和房间信息.

最终,我正在寻找一个桌子列表(在一个特定的房子里),他们的花瓶(红色)的集合被取出.

谢谢您的帮助!

编辑

像这样的东西会很好:

var v = session.QueryOver<Table>()
        .Where(x => x.Room.House.ID == HouseID) // this Where won't work.
            .JoinQueryOver<Vase>(x => x.Vases)
                .Where(x => x.Color == "Red")
        .List().ToList();
Run Code Online (Sandbox Code Playgroud)

nhibernate fluent-nhibernate queryover

4
推荐指数
1
解决办法
6623
查看次数