小编Ser*_*eit的帖子

文件>新MVC 3项目中的新"使用HTML5语义标记"选项

几天前,我安装了Visual Studio 2010 的ASP.NET MVC 3工具更新.

刚才我去创建一个新的ASP.NET MVC 3应用程序,我看到New ASP.NET MVC 3 Project对话框上有一个新选项:

使用HTML5语义标记

选择此复选框会在新创建的应用程序中进行哪些更改而不是选择它,除了字面上显而易见的?
什么时候不想使用它,只是为了保持与旧浏览器的兼容性?

html5 visual-studio-2010 visual-studio tooling asp.net-mvc-3

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

仅在不在视图中时滚动到元素 - jQuery

我知道有几次这样的变化; 我已经浏览了一段时间,但要么我做错了,要么我找不到我需要的东西.

我有一个嵌套注释的结构,几乎和Facebook Comments插件一样,每当reply点击时,一个带有textarea的小表单和一个按钮出现在注释的底部.

同样,行为与Facebook Comments插件相同,我想在滚动新添加textarea到视图时实现相同的功能.

我已经尝试了scrollTo插件,它运行顺畅但是,即使我手动滚动到页面的最底部,滚动动画也将始终重置滚动位置并从顶部开始.

为了记录,这就是我调用scrollTo的方式:

$.scrollTo($('#addReply_1'), 800);
Run Code Online (Sandbox Code Playgroud)

其中addReply_1div包含表单.我已经大步滚动到表单本身和表单textarea.结果相同.

有没有办法滚动到元素只有它尚未可见?

我已经尝试过在SO上提供的许多解决方案,比如使用jQuery滚动到一个元素,但似乎都没有按照需要行事; 甚至滚动到具有jQuery的特定元素在滚动后检查元素是否可见显示相同的"跳跃"行为.


更新:在线演示以显示行为

我上传了一个html演示页面,显示了我抱怨的行为:http://www.wouldbebetter.com/demo/comment-demo.htm

只需滚动到页面底部,然后单击任何Reply链接即可查看我所指的"跳跃"滚动.

请注意,此演示使用scrollintoview@Robert Koritnik的答案插件,但如果我使用ScrollTo,行为也是一样的.

html jquery scroll

34
推荐指数
5
解决办法
3万
查看次数

在javascript函数上调用toString会返回源代码

我刚刚发现当你在javascript函数上调用toString()myFunction.toString()时,就会返回该函数的源代码.

如果您在Firebug或Chrome控制台中尝试它,它甚至可以很好地为您格式化,即使对于最小化的JavaScript文件也是如此.
我不知道混淆文件有什么用.

这样的toString实现有什么用?

javascript tostring

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

MVC3 Razor使用Html.BeginForm问题

这可能是一件简单的事情,但我有以下代码:

<div>
    @using (Html.BeginForm()) {
        <p>
            ...
        </p>
    }
</div>
Run Code Online (Sandbox Code Playgroud)

而且它一直抱怨起始{括号必须后跟一个结尾}括号,但它在那里,所有做这类东西的代码示例都表明这是做到这一点的方式,所以我有点困惑为什么它没有不行......

razor asp.net-mvc-3

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

带有标识列的EF Code First Parent-Child插入

我有以下型号.

class Parent
{
    int ParentId (identity column) { get; set; }
    string ParentName { get; set; }
    virtual ICollection<Child> Children { get; set; }
}

class Child
{
    int ChildId (identity column) { get; set; }
    string ChildName { get; set; }
    int ParentID { get ; set; } //foreign key to Parent(ParentID)
}
Run Code Online (Sandbox Code Playgroud)

如何在单个事务中向父母和子女插入几行?基本上我想获得在父级上生成的标识(比如我在父级中插入一行)并插入具有该值的子行?如何使用Code First实现这一目标?

entity-framework code-first ef-code-first

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

如何在ActiveDirectory和.NET 3.5中确定用户所属的所有组(包括嵌套组)

我有一个使用ActiveDirecotry授权的应用程序,并且已经确定它需要支持嵌套的AD组,例如:

MAIN_AD_GROUP
     |
     |-> SUB_GROUP
              | 
              |-> User
Run Code Online (Sandbox Code Playgroud)

所以,用户不是直接成员MAIN_AD_GROUP.我希望能够递归地查找用户,搜索嵌套的组MAIN_AD_GROUP.

主要问题是我使用的是.NET 3.5,并且.NET 3.5中存在一个错误System.DirectoryServices.AccountManagement,该方法UserPrincipal.IsMemberOf() 不适用于拥有超过1500个用户的组.所以我不能使用UserPrincipal.IsMemberOf()和不,我也无法切换到.NET 4.

我用以下函数解决了这个最后一个问题:

private bool IsMember(Principal userPrincipal, Principal groupPrincipal)
{
    using (var groups = userPrincipal.GetGroups())
    {
        var isMember = groups.Any(g => 
            g.DistinguishedName == groupPrincipal.DistinguishedName);
        return isMember;
    }
}
Run Code Online (Sandbox Code Playgroud)

userPrincipal.GetGroups()只返回用户是其直接成员的组.

如何让它与嵌套组一起使用?

c# directoryservices active-directory .net-3.5

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

对集合中的每个项目使用DisplayTemplate(带DisplayFor)

我为一个Comment类创建了一个DisplayTemplate ,并将其放在里面Comment/DisplayTemplates/Comment.cshtml.

Comment.cshtml 输入正确:

@model Comment
Run Code Online (Sandbox Code Playgroud)

然后,我有一个局部视图,需要一个IEnumerable<Comment>模型.在那里,我遍历集合,并希望使用DisplayTemplate为Comment类.该观点,其完整性:

@model IEnumerable<Comment>

@foreach (var comment in Model.Where(c => c.Parent == null)) { 
    @Html.DisplayFor(model => comment)
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到错误Html.DisplayFor:

传递到字典中的模型项的类型为"System.Int32",但此字典需要"System.String"类型的模型项.

如何为foreach循环中的每个项调用DisplayTemplate ?

asp.net-mvc razor display-templates asp.net-mvc-3

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

使用Lambda表达式验证方法调用 - Moq

我有一个工作单元实施,其中包括以下方法:

T Single<T>(Expression<Func<T, bool>> expression) where T : class, new();
Run Code Online (Sandbox Code Playgroud)

我打电话给它,例如,像这样:

var person = _uow.Single<Person>(p => p.FirstName == "Sergi");
Run Code Online (Sandbox Code Playgroud)

如何验证Single方法是否已使用参数调用FirstName == "Sergi"

我试过以下,但无济于事:

// direct approach 
session.Verify(x => x.Single<Person>(p => p.FirstName == "Sergi"));

// comparing expressions
Expression<Func<Person, bool>> expression = p => p.FirstName == "Sergi");

session.Verify(x => x
    .Single(It.Is<Expression<Func<Person, bool>>>(e => e == expression));
Run Code Online (Sandbox Code Playgroud)

它们都会导致以下错误:

模拟上的预期调用至少一次,但从未执行过

关于如何做到这一点的任何想法?我正在使用NuGet 的最新Moq,版本4.0.10827.0

更新:一个具体的例子

我所看到的是每当我在lambda中使用字符串文字时,都Verify可以工作.一旦我比较变量就失败了.例证:

// the verify
someService.GetFromType(QuestionnaireType.Objective)

session.Verify(x => x.Single<Questionnaire>(q => 
    q.Type == QuestionnaireType.Objective));


// …
Run Code Online (Sandbox Code Playgroud)

c# lambda moq mocking verify

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

什么是Humble Object模式以及何时有用?

我正在阅读Dino Esposito关于如何在ASP.NET MVC中测试AsyncConrollers的文章,在那里他使用了"Humble Object"模式,而没有详细介绍.

谷歌周围也没有运气.

那么,Humble Object模式是什么?什么时候有用?

.net c# design-patterns

17
推荐指数
3
解决办法
9985
查看次数

在Aurelia重新加载当前页面

我有一个Aurelia应用程序,用户可以选择他们当前正在"工作"的公司.应用程序中的每个页面都取决于当前选定的公司,用户可以从下拉菜单中选择新公司.下拉列表是导航栏上的一个组件.

我想要的是让该组件重新加载change.delegate处理程序上的当前页面而不重新启动应用程序.所以设置window.location.href是不可能的.

有没有办法迫使aurelia Router重新加载当前路线/页面?

另一种方法是使用EventAggregator信号在整个应用程序公司的变化,但这需要或者订阅该事件的每一页上或具有订阅了该事件的一个基类的每一页继承,但这些更多地参与选择.

aurelia aurelia-navigation aurelia-router

16
推荐指数
2
解决办法
7252
查看次数