小编Evg*_*nii的帖子

在Razor视图中使用Partials的性能成本

我喜欢在我的Razor视图中使用partials.它使代码更好,更干净.但是使用partials有任何显着的性能成本吗?我创建了一个简单的测试.它表明使用partials 慢得多.

test.cshtml:

@{
   var stopwatch = new System.Diagnostics.Stopwatch(); 
   stopwatch.Start();         
   for(var i=0; i<1000; i++) {
      var str = "my string #" + i;        
      @Html.Partial("_MyPartial",str)  // replace with @str on second test
      <br />        
   }
   stopwatch.Stop();
   <br />
   @: Time elapsed (ms): @(stopwatch.ElapsedMilliseconds)
}
Run Code Online (Sandbox Code Playgroud)

_MyPartial.cshtml:

@Model
Run Code Online (Sandbox Code Playgroud)

部分执行的代码在340毫秒,而内联@str代码显示0或1毫秒.这对我来说真的很震撼,因为这意味着我应该摆脱所有可爱的局部,至少在循环中.

如果有人想确认或批评我的实验,我们非常欢迎您.

c# razor asp.net-mvc-3

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

如何显示我们通过Ajax调用收到的图像?

Web服务器生成图像并直接将它们发送到客户端.出于安全原因,图像没有URL.例如,如果我/images/25在浏览器服务器中输入URL将发送它,浏览器将下载它.

现在我想从Ajax调用中获取此图像,然后将其显示在现有页面上.我可以得到图像数据.我的问题是:如何显示图像?

$.get("/images/25", function (rawImageData) {
   // ??? Need to add an image to DOM
});
Run Code Online (Sandbox Code Playgroud)

更新

我为这么愚蠢而道歉.谢谢你,JW.当然我可以将带有src的img标签放到我的URL中.如果这是图像文件的直接URL或服务器动态发送它并不重要.

javascript jquery

8
推荐指数
3
解决办法
2万
查看次数

如何从Rails中的布局模板获取当前视图名称?

是否可以从布局内部获取当前渲染视图的名称?

ruby-on-rails-3

8
推荐指数
1
解决办法
5836
查看次数

有没有办法在Xcode 6中增加故事板中视图控制器的高度?

A在我的视图控制器中有很多子视图,我在故事板中设计了autolayout.这些子视图不适合视图控制器框.我只能使这些子视图适合视图控制器,如果我使它们小于它们的实际宽度/高度约束值.但如果我这样做 - 它会显示"错位视图"警告.我已经有25个,它开始变得凌乱.

如果我可以在故事板中增加此视图控制器框的高度,那将会很方便.可能吗?

我只是在谈论故事板中的设计,而不是应用程序中的实际视图控制器.

io xcode6

8
推荐指数
1
解决办法
2433
查看次数

如何在Jenkins上运行AngularJS端到端测试?

如何在Jenkins上运行AngularJS 端到端测试?据我所知,e2e测试需要一个Web服务器.

当node.js web服务器脚本运行时,我可以使用karma在本地运行e2e测试.

node.js jenkins angularjs karma-runner angularjs-e2e

7
推荐指数
2
解决办法
8383
查看次数

提交iOS应用程序时是否可以排除3.5英寸屏幕设备?

在向iTunes连接提交iOS应用程序时,是否可以排除 3.5"设备?我不想支持此屏幕尺寸,只需4"及以上.

ios

7
推荐指数
1
解决办法
3057
查看次数

IIS中的静态压缩不适用于htm,js文件

我正在尝试配置IIS 7.5以压缩静态htm和js文件.有谁知道它为什么不适合我?这是我的网站web.config:

    <httpCompression>          
        <dynamicTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </dynamicTypes>
        <staticTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </staticTypes>
    </httpCompression>
    <urlCompression doStaticCompression="true" doDynamicCompression="false" />
Run Code Online (Sandbox Code Playgroud)

当我将doDynamicCompression设置为true时,压缩开始工作.但我不能使用此选项,因为它在我的主机上被禁用.

谢谢.

compression asp.net asp.net-mvc iis-7.5

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

如何匹配包含忽略数组元素顺序的数组的哈希?

我有两个包含数组的哈希。就我而言,数组元素的顺序并不重要。有没有一种简单的方法可以在 RSpec2 中匹配此类哈希?

{ a: [1, 2] }.should == { a: [2, 1] } # how to make it pass?
Run Code Online (Sandbox Code Playgroud)

聚苯乙烯

有一个数组匹配器,它忽略顺序。

[1, 2].should =~ [2, 1] # Is there a similar matcher for hashes?
Run Code Online (Sandbox Code Playgroud)

解决方案

该解决方案对我有用。最初由 tokland 建议,已修复。

RSpec::Matchers.define :match_hash do |expected|
  match do |actual|
    matches_hash?(expected, actual) 
  end
end

def matches_hash?(expected, actual) 
  matches_array?(expected.keys, actual.keys) &&
    actual.all? { |k, xs| matches_array?(expected[k], xs) }
end   

def matches_array?(expected, actual)
  return expected == actual unless expected.is_a?(Array) && actual.is_a?(Array)
  RSpec::Matchers::BuiltIn::MatchArray.new(expected).matches? actual
end
Run Code Online (Sandbox Code Playgroud)

使用匹配器:

{a: …
Run Code Online (Sandbox Code Playgroud)

ruby rspec2

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

寻找移动网络的纯css ui框架

我正在寻找一个CSS框架来设置表单元素和列表的样式,这些元素和列表在小屏幕上很容易使用.它需要是一个只有CSS的框架,很少或没有JavaScript.像Twitter Bootstrap这样的东西.我不想要像jQueryMobile这样的JavaScript密集型框架.不需要响应式布局和网格支持.

html css mobile

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

如何在MiniTest的所有测试中的每个测试用例之前运行代码?

我需要在MiniTest的所有测试中在每次测试之前运行代码.

在我做之前:

MiniTest::Unit::TestCase.add_setup_hook do
   ...code to run before each test
end
Run Code Online (Sandbox Code Playgroud)

将MiniTest升级到版本4.7.2后,显示以下错误:

undefined method `add_setup_hook' for MiniTest::Unit::TestCase:Class (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

我正在使用Ruby MRI 2.0.0p0.

module MyMinitestPlugin
  def before_setup
    super
    # ...code to run before all test cases
  end

  def after_teardown
    # ... code to run after all test cases
    super
  end
end

class MiniTest::Unit::TestCase
  include MyMinitestPlugin
end
Run Code Online (Sandbox Code Playgroud)

ruby minitest

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