小编Bra*_*ney的帖子

Razor Helper语法自动格式化丑陋.怎么修?

所以我对Visual Studio格式化剃刀代码的方式有了一定的了解.我一直有一些视觉工作室的问题以及它如何格式化UI代码,它似乎总是做一个真正的超级糟糕的工作,业界不想遵循.

所以这个例子看起来真的很愚蠢.我正在试图弄清楚是否有mods或方法来解决这个问题.它看起来真的很糟糕.

有人知道这是什么一回事吗?大声笑

@using Company.Mobile2.Enums
@helper BidsByShipment(string generatedId, int bidsCount, int activeBidsCount)
    {
        if (bidsCount > 0)
        {
    <a class="Company-listview-link Company-listview-bids" href="/Shipping/Bids/ByShipment?id={0}">
        @if (activeBidsCount > 0)
        {
            <text>@bidsCount (@activeBidsCount @GetStr("Company"))</text>
        }
        else
        {
            <text>@bidsCount</text>
        }
    </a>
        }
        else
        {
    <text>0 @GetStr("Company")</text>
        }
}
Run Code Online (Sandbox Code Playgroud)

syntax formatting visual-studio razor

38
推荐指数
1
解决办法
1万
查看次数

如何成功使用existingResponse ="Auto"?

所以我从我的MVC网络应用程序返回详细的400错误响应.设置existingResponse ="PassThrough"有效,但这不是我想要的.我不想公开所有的失败,我只想在我有自定义响应时公开它们.

自动,默认设置,但我故意设置它.但是,文档说必须设置"SetStatus"标志,但我不知道如何做这样的事情.我编写了以下四种控制器方法来测试它,只有BadRequestD工作.其他人设置状态代码和状态就好了,但是正文内容是"错误请求".

public ActionResult BadRequestA()
{
    Response.StatusCode = 400;
    return Content("weeeeee");
}

public ActionResult BadRequestB()
{
    Response.Status = "400 U DUN MESSED UP";
    return Content("weeeeee");
}

public ActionResult BadRequestC()
{
    Response.Status = "400 U DUN MESSED UP";
    Response.StatusCode = 400;
    return Content("weeeeee");
}

public ActionResult BadRequestD()
{
    Response.StatusCode = 400;
    Response.TrySkipIisCustomErrors = true;
    return Content("weeeeee");
}
Run Code Online (Sandbox Code Playgroud)

c# iis asp.net-mvc

23
推荐指数
2
解决办法
5338
查看次数

如何使用复合键避免使用NHibernate N + 1

编辑我为这一个问题重新制作了整个项目.因此,我重新提出了这个问题.

我希望能够有效地避免N + 1和笛卡尔联接将第4级深层实体与第三级复合键连接在一起.

我正在寻找这个只在几个查询中完成,而不是延迟加载,而不是只是将所有表连接在一起.

A - (很多) - > B - (很多) - > C - (复合,单) - > D.

就像是:

Select * From A Left Join B On A.Id = B.AId
Select * From B Left Join C On B.Id = C.BId Inner Join D On C.DId = D.Id
Run Code Online (Sandbox Code Playgroud)

这是使用的代码这是一个功能齐全的应用程序.我使用NuGet安装Sqlite x86,StructureMap,NHProf,Fluent NH.

StructureMapServiceLocator:

namespace MyTest.NHibernateTest
{
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Practices.ServiceLocation;
using StructureMap;

public class StructureMapServiceLocator : ServiceLocatorImplBase
{
    private readonly IContainer _container;

    public …
Run Code Online (Sandbox Code Playgroud)

nhibernate queryover select-n-plus-1

19
推荐指数
1
解决办法
1157
查看次数

REST标准 - 输出模型是否应始终与输入模型匹配?

所以我要求部分输出模型必须包含UI重要信息.此信息基本上是文本翻译和日期,价格,长度的建议格式.

所以输出模型的一个例子可能是:

{
  statuses : {
    enumValue1 : "Display This Text",
    enumValue2 : "Display This Text2",
  },
  thePrice : {
    value : 3.50,
    formattedValue : "$3.50"
  },
  length : {
    meters 3,
    formattedValue : "3 ft."
  },
  iAmAPropertyOnlyInGet : 42
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我将它作为我的输出模型,那么拥有完全不同的输入模型是否"可以"?

{
  status : {
    enumValue1,
    enumValue2,
  },
  thePrice : 3.50,
  lengthInMeters : 3  
}
Run Code Online (Sandbox Code Playgroud)

c# rest asp.net-web-api

10
推荐指数
1
解决办法
1218
查看次数

NHibernate QueryOver选择实体和聚合

我想要做的是显示一个简单的数据网格,其中包含实体数据及其子项的聚合数据.例如,我们使用订单和订单项.我想显示订单信息和订单项的数量.

OrderID,OrderDate,NumOfLineItems

现在通常在SQL中,您可以通过多种方式完成.但这是我能想到的唯一可以在翻译成NHibernate时使用的方法.

SELECT o.OrderID, OrderDate, NumOfLineItems
FROM #Orders o
INNER JOIN
(SELECT o2.OrderID, COUNT(*) As NumOfLineItems FROM #LineItems l
INNER JOIN #Orders o2 ON o2.OrderID = l.OrderID
WHERE UserID = 1 GROUP BY o2.OrderID) t1 ON o.OrderID = t1.OrderID
WHERE UserID = 1
Run Code Online (Sandbox Code Playgroud)

我知道还有其他方法,但我正在考虑NHibernate允许我使用QueryOver语法的方式.我不想使用派生列.我试图避免编写SQL.

对于我的实体,我有一个Order实体和一个AggregatedOrder实体,在这种情况下它将是我的DTO,我计划使用变换器aliastobean将数据复制到其中.

我完全不知道如何解决这个问题.

到目前为止我所有的一切:

        QueryOver<LineItem> x = QueryOver.Of<LineItem>()
            .SelectList(p => p .SelectCount(l => l.Id).WithAlias(() => itemAlias.NumOfLineItems))
            .JoinQueryOver<Order>(l => l.Order)
            .Where(o => o.UserID == userID)


        var y = session.QueryOver<Listing>()
            .JoinQueryOver<Bid>(x); // no idea whats going on here
Run Code Online (Sandbox Code Playgroud)

nhibernate aggregate correlated-subquery queryover

6
推荐指数
1
解决办法
3783
查看次数

Razor Helpers与代码块共享html问题

我想我想做的是"链接"我的数据,以便最终看起来一样.我的所有HTML必须以某种形式包装

<fieldset class="" data-role="">
Run Code Online (Sandbox Code Playgroud)

所以我有一个帮助打印各种形式.一个是标签:

<fieldset data-role="@role">
    <label>@Html.Raw(label)</label>
</fieldset>
Run Code Online (Sandbox Code Playgroud)

现在我有多种类型的标签,其中一种包括代码块.当它是一个简单的文本,如"名字",我做:

@FieldSet.Label("First Name")
Run Code Online (Sandbox Code Playgroud)

但是,当我有一个代码块,如:

<b>some text</b>
<p>some other text (some time frame - some time frame)
Run Code Online (Sandbox Code Playgroud)

使用它变得复杂:

@FieldSet.Label("<b>" + Model.Text1 + "</b><p>" + Model.Text2 + 
    " (" + Model.Time1 + " - " + Model.Time2 +")</p>")
Run Code Online (Sandbox Code Playgroud)

我想要一个看起来像这样的解决方案:

@FieldSet.Label(@<text>
<b>@Model1.Text1</b>
<p>@Model.Text2 (@Model.Time1 - @Model.Time2)</p>
</text>)
Run Code Online (Sandbox Code Playgroud)

我在某个地方看到这是可能的,但我找不到这篇文章.我可能完全被误导,但我真的不想在后面的代码中有一段HTML,我想利用剃刀语法,而不是字符串连接.

asp.net html-helper razor asp.net-mvc-3

5
推荐指数
1
解决办法
1529
查看次数

在jquery插件事件中访问$ this

我正在编写一个jQuery插件,它涉及将事件绑定到window.scroll.window.scroll中执行的操作取决于调用原始初始化时传入的设置.

如何在绑定事件中访问数据元素?

 (function($) {
    var methods = {
        init : function(options) {
            return this.each(function() {
                $(window).bind("scroll.myPlugin", methods.windowOnScroll);
            });
        },
        windowOnScroll : function() {
            var $this = $(this);
            var data = $this.data("scrollingLoader");
            if (data.something) {
                 // ...
            }
        }
  })(jQuery);
Run Code Online (Sandbox Code Playgroud)

jquery jquery-plugins

5
推荐指数
1
解决办法
563
查看次数

App_Code中的MVC Razor声明性助手不使用web.config名称空间

我在App_Code目录中使用声明性帮助器时遇到问题.我为我的视图创建了一个基础webviewpage,其中包含我的本地化方法.我还有一组用于我的助手的枚举,它围绕着CSS名称.

例如,DataRole是一个枚举,指的是允许显示的CSS类,而GetStr是我的基类打印标签本地化值的方法:

@helper ReadOnlyColumns(DataRole role, string label, string contents)
{
  <div class="@role">@GetStr(label)</div>
}
Run Code Online (Sandbox Code Playgroud)

我的web.config具有基页类型的定义,以及要包含的正确名称空间.这些设置适用于不在App_Code目录中的视图.

有没有人有任何想法如何使App_Code目录工作?我应该把web.config放在里面吗?我很茫然.

我知道你可以做@implements和@using,这很有效.但我正在努力为我们的软件奠定基础,并且不觉得应该包含将在我们编写的每个页面上使用的内容.

编辑,这是我在root中的web.config设置,以及每个views目录:

<configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
        <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
</configSections>

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="Company.Web.BaseWebViewPage">
        <namespaces>
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Routing" />
            <add namespace="Company.Web" />
            <add namespace="Company.Web.Enums" />
        </namespaces>
    </pages>
</system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)

谢谢,

布拉德

declarative app-code helper razor

3
推荐指数
1
解决办法
1648
查看次数

如何向MiniProfiler添加启动时间?

我想使用MiniProfiler计算Application_OnStart.到目前为止,我一直没有成功.我试图创建一个Timing并将其添加到root的子节点,但它不会收集我想要的所有数据.它还会从整体配置文件时间中减去启动时间,因此最终会显示负的持续时间.目前我唯一的解决方案是使用秒表计时并将其添加到客户端计时.这将从第一个请求中删除客户端计时,并添加应用程序启动持续时间.但我没有获得自定义时序等.此外,因为我使用AddProfilerResults方法在我的MVC配置文件中组合我的API配置文件(对于MVC UI,它们包含在步骤中),第一个MVC上API的启动时间请求不包括在内,它基本上丢失了.

            MiniProfiler.Current.ClientTimings = new ClientTimings
            {
                Timings = new List<ClientTimings.ClientTiming>
                {
                    new ClientTimings.ClientTiming
                    {
                        Duration = startTime,
                        Id = Guid.NewGuid(),
                        MiniProfilerId = Guid.NewGuid(),
                        Name = "Application_Start",
                        Start = 0
                    }
                }
            };
Run Code Online (Sandbox Code Playgroud)

c# mvc-mini-profiler

3
推荐指数
1
解决办法
490
查看次数