小编Bra*_*bby的帖子

如何在CollectionView中呈现与DOM相关的视图?

我有一个Marionette.CollectionView呈现ItemViews 的列表.期间render(),我使用ItemView model来使用Raphael绘制一些SVG .

拉斐尔要求我指定画布的高度和宽度,我通常会从中获取this.$el.但是,$el(作为一个空<div>)没有维度,直到它被添加到DOM并且CSS规则应用于它,所以我需要延迟渲染,直到我知道视图在DOM中.

问题是,Marionette.CollectionView在呈现之前,不会向DOM添加子视图.如何在不重新实现一半的情况下覆盖此行为CollectionView

示例代码

// Renders a single object.
var ItemView = Marionette.ItemView.extend({
    template: "#item-view-template",
    onRender: function() {
        var svgEl = this.$el.find("div.svg-canvas");
        // Raphael needs the element's width and height, which
        // is 0 until this.$el is in the DOM.
        var paper = Raphael(svgEl.get(0), svgEl.height(), svgEl.width());
        // ... draw some SVG...
    }
});

// Renders a …
Run Code Online (Sandbox Code Playgroud)

backbone.js marionette

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

最佳实践:LINQ To SQL用于数据访问

我正在处理的Web应用程序的一部分是一个区域,显示从管理到1 ... n个用户的消息.我有一个包含LINQ to SQL类的DataAccess项目,以及一个作为UI的网站项目.我的数据库看起来像这样:

用户 - > MessageDetail < - 消息< - MessageCategory

MessageDetail是一个连接表,它还包含一个IsRead标志.

消息列表按类别分组.我在页面上有两个嵌套的ListView控件 - 一个输出组名,而另一个嵌套在内部,绑定到MessageDetails并输出消息本身.在列出消息的页面的代码隐藏中,我有以下代码:

protected void MessageListDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
    var db = new DataContext();

    // parse the input strings from the web form
    int categoryIDFilter;
    DateTime dateFilter;
    string catFilterString = MessagesCategoryFilter.SelectedValue;
    string dateFilterString = MessagesDateFilter.SelectedValue;
    // TryParse will return default values if parsing is unsuccessful (i.e. if "all" is selected"):
    // DateTime.MinValue for dates, 0 for int
    DateTime.TryParse(dateFilterString, out dateFilter);
    Int32.TryParse(catFilterString, out categoryIDFilter);
    bool …
Run Code Online (Sandbox Code Playgroud)

linq asp.net linq-to-sql

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

使用AutoMapper映射"X"类型的所有属性

我刚刚开始使用AutoMapper,到目前为止发现它非常直接且节省时间.

只有一点我不确定 - 如何以相同的方式映射给定类型的所有属性?

可以使用lambda在单个语句中使用AutoMapper来完成,与常规映射一样吗?

c# model-view-controller lambda automapper

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

如何使用查询字符串测试URL的路由/操作解析?

我正在尝试在我的单元测试中使用以下代码,

/* Test setup code */
_routes = RouteTable.Routes;
MvcApplication.RegisterRoutes(_routes); //set up the routes as they would be in actual application
/* test code */
Expression<Func<SearchController, ActionResult>> actionFunc;
actionFunc = action => action.Results("x", 3, null);
RouteTestingExtensions.Route(
   "~/Search/Results?searchText=x"
).ShouldMapTo<SearchController>(actionFunc);
Run Code Online (Sandbox Code Playgroud)

问题是,这是失败的"预期结果是结果?searchText = x"

有没有人有一个解决方案可以让我测试一个URL(带有查询字符串)解析为正确的控制器,动作和参数?

仅供参考,我在Global.asax.cs中没有明确的路由设置,因为默认路由适用于实际的应用程序 - 它只是在此测试中不起作用.

c# asp.net-mvc mvccontrib-testhelper

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

流畅的NHibernate PersistenceSpecification无法测试字符串集合

我正在使用Fluent NHibernate映射一个包含如下字符串集合的类:

public class Foo {
    public virtual ICollection<string> Strings { get; set; }
}
public class FooMap : ClassMap<Foo> {
     public FooMap() { HasMany(f => f.Strings).Element("SomeColumnName"); }
}
Run Code Online (Sandbox Code Playgroud)

当我使用PersistenceSpecificationFNH包中包含的类编写单元测试时,它会失败:

[TestMethod]
public void CanMapCollectionOfStrings() {
    var someStrings = new List<string> { "Foo", "Bar", "Baz" };
    new PersistenceSpecification<Foo>(CurrentSession)
        .CheckList(x => x.Strings, someStrings) // MappingException
        .VerifyTheMappings();   
}
Run Code Online (Sandbox Code Playgroud)

NHibernate.MappingException: No persister for: System.String调用时会抛出此测试CheckList().但是,如果我试着自己坚持这个对象,它就可以了.

[TestMethod]
public void CanPersistCollectionOfStrings() {
    var foo = new Foo {
                     Strings = new List<string> …
Run Code Online (Sandbox Code Playgroud)

nhibernate unit-testing fluent-nhibernate

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

我可以创建一个可以流畅地适应狭窄窗口的双列布局吗?

我正在尝试设计一个包含两列内容的页面,div#left和div#right.(我知道这些不是正确的语义标识符,但它使解释更容易)两列的宽度是固定的.
期望的结果 - 宽视口
期望的结果 - 宽视口

当视口太窄而无法并排显示时,我希望#right堆叠在#left之上,如下所示:
期望的结果 - 狭窄的视口
期望的结果 - 狭窄的视口

我的第一个想法只是应用于float: left#left和float: right#right,但这使得#right 自己附加到窗口的右侧(float毕竟这是正确的行为),留下一个空的空间.当浏览器窗口非常宽时,这也会在列之间留下很大的差距.
对面的花车
错误 - div#right与视口的左侧不齐平

应用float: left两个的div会导致错误的一个移动至底部时,窗口太小了.
错误的一个在上面
错了 - div#right不在div#left之上

我可以用媒体查询做到这一点,但IE直到版本9才支持这些.源顺序不重要,但我需要一些在IE7中工作最少的东西.这可能不借助Javascript吗?

css layout

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

ISession.SaveOrUpdateCopy()和ISession.Merge()之间有什么区别?

在NHibernate 3.1中,ISession.SaveOrUpdateCopy()已被标记为已弃用.文档建议使用Merge().每个文件如下:

SaveOrUpdateCopy(object obj)

将给定对象的状态复制到具有相同标识符的持久对象上.如果当前没有与会话关联的持久性实例,则将加载该实例.返回持久化实例.如果给定实例未保存或数据库中不存在,请保存它并将其作为新的持久实例返回.否则,给定实例不会与会话关联.

Merge(object obj)

将给定对象的状态复制到具有相同标识符的持久对象上.如果当前没有与会话关联的持久性实例,则将加载该实例.返回持久化实例.如果给定实例未保存,请保存副本并将其作为新的持久实例返回.给定的实例不会与会话关联.如果映射关联,则此操作级联到关联实例cascade="merge".
该方法的语义由JSR-220定义.

他们看起来几乎与我相同,但必然会涉及一些细微之处.如果是这样,他们是什么?

nhibernate nhibernate-3

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

为什么clear按钮与UITextField中的文本不对齐?

我在UITableViewCell中有一个UITextField.由于某种原因,清除按钮未与textField的文本对齐.这是我的textField代码:


cell.selectionStyle = UITableViewCellSelectionStyleNone;
usernameField = [[UITextField alloc] initWithFrame:CGRectMake(22, 10, cell.contentView.frame.size.width, cell.contentView.frame.size.height)];
usernameField.adjustsFontSizeToFitWidth = YES;
usernameField.placeholder = @"Username";
usernameField.backgroundColor = [UIColor clearColor];
usernameField.keyboardType = UIKeyboardTypeDefault;
usernameField.autocapitalizationType = UITextAutocorrectionTypeNo;
usernameField.autocorrectionType = UITextAutocorrectionTypeNo;
usernameField.returnKeyType = UIReturnKeyNext;
usernameField.delegate = self;
usernameField.clearButtonMode = UITextFieldViewModeAlways;
[usernameField setEnabled:YES];
[cell addSubview:usernameField];
[usernameField becomeFirstResponder];
[usernameField release];
Run Code Online (Sandbox Code Playgroud)

这是展示问题的图片: 截图

编辑:我也试过,- (CGRect)clearButtonRectForBounds:(CGRect)bounds但仍然没有

uitableview uitextfield

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

当有多个子实体路径时,如何生成对象?

我正在开发一个具有与此类似的域模型的应用程序,其中a LineItem既可以从a 也可以Order从a 引用Shipment.

图

如果我使用AutoFixture生成Order,我该如何使用相同的一组LineItems两个order.LineItemsorder.Shipments*.ItemShipments*.LineItem

从理论上讲,以下测试应该通过:

var fullyShippedOrder = fixture.CreateAnonymous<Order>();
var shippedLineItems = fullyShippedOrder.Shipments
    .SelectMany(o => o.ItemShipment, (s, i) => i.LineItem)
    .Distinct();
Assert.EqualCollection(fullyShippedOrder.LineItems, shippedLineItems);
Run Code Online (Sandbox Code Playgroud)

...虽然我也希望能够根据测试生成部分发货的订单.

(有一个可靠的论据,即订单上的订单项和货件上的订单项是不同的东西,我不应该使用相同的类来表示它们.但是,我正在使用的数据来自遗留系统并没有太多可以做的事情.)

c# autofixture

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

为什么aspnet_compiler需要对构建服务器上的Temporary ASP.NET Files文件夹进行写访问?

我们使用CI服务器(Jenkins)编译ASP.NET项目并部署到我们的Web服务器.

我想在部署之前预编译站点以提高性能,因此我PrecompileBeforePublish在发布配置文件(.pubxml)中设置了该属性.

但是,当Jenkins运行构建时,AspNetPreCompile任务失败并显示错误:

AspNetPreCompile:
C:\ Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe
-v/
-pc:\ jenkins\workspace\DeployJob\MyProject\obj\Release\AspnetCompileMerge\Source
-c
c:\ jenkins\workspace\DeployJob\MyProject的\ OBJ \发布\ AspnetCompileMerge\TempBuildDir

ASPNETCOMPILER:错误ASPRUNTIME:当前标识(JenkinsUser)没有对"C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files"的写入权限.

请注意,这不是将Web站点部署到的计算机,它只是一个构建服务器.我可以授予当前身份(JenkinsUser)访问Temporary ASP.NET Files文件夹的权限,但我宁愿不必在一个只是充当愚蠢的Jenkins奴隶的盒子上搞乱文件系统权限.

有没有办法解决?为什么aspnet_compiler试图将站点写入Temporary ASP.NET Files文件夹,有没有办法让它使用不同的临时目录,例如%TEMP%

msbuild aspnet-compiler microsoft-web-deploy

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