小编Tra*_*s J的帖子

有没有比用@if()更好的方法在剃刀中动态添加css

我可以在这里优化班级作业吗?我必须在很多不同的地方这样做,并试图弄清楚如何减少它...复制粘贴 - 内嵌/内联.

@foreach(var m in Model.ObjectList)
{
 <td @if(m.RandomObject.isFlagged){
     <text>class="flagged"</text>
     }
 >
  @m.RandomObject.Name @m.RandomObject.Description
 </td>
}
Run Code Online (Sandbox Code Playgroud)

请注意,不同位置的每个ObjectList都有不同的RandomObjects.

我想这也会奏效,但似乎仍然不是最佳做法:

<td class="flagged@(m.RandomObject.isFlagged)">...
Run Code Online (Sandbox Code Playgroud)

然后有css定义 .flaggedtrue

css optimization razor

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

.GetProperties()的大O

如果有n个属性,那么.GetProperties O(n)的Big-O还是反射中涉及的过程增加了复杂性?

假设有这个定义的类:

public class Reflector
{
 public string name { get; set; }
 public int number { get; set; }
 public bool flag { get; set; }
 public List<string> etc { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后进行此调用:

var reflect = new Reflector();
PropertyInfo[] properties = reflect.GetType().GetProperties();
Run Code Online (Sandbox Code Playgroud)

什么是时间复杂度,即Big-O .GetProperties()?考虑到有4个属性,这只需要4次迭代还是比它更复杂?或者,是否O(1)具有一些标准的复杂性集到达列表 - 这似乎仍然是O(n)只是为了构建属性数组?

c# reflection getproperties

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

是否存在使用不会丢弃物体的情况?

是否有任何情况下使用不会处理它应该处理的对象?

例如,

using(dbContext db = new dbContext()){ ... }
Run Code Online (Sandbox Code Playgroud)

有没有办法在最后一个}数据库仍然存在之后?

如果出现这种情况怎么办:

object o =  new object();
using(dbContext db = new dbContext()){
 o = db.objects.find(1);
}
Run Code Online (Sandbox Code Playgroud)

是否有可能o保持db活力?

c# using-statement

4
推荐指数
2
解决办法
2783
查看次数

实体框架与ADO.NET

在ASP.NET MVC3项目中,使用Entity Framework(使用存储库模式)或使用ADO.NET SqlConnection和更快,更安全SqlCommand吗?

ado.net entity-framework asp.net-mvc-3

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

使用if语句来管理微管理

if语句是否应该用于协助堆栈的内存解除分配?

例A:

        var objectHolder = new ObjectHolder();
        if (true)
        {
            List<DefinedObject> objectList;
            using (var sr = new GenericStreamReader<DefinedObject>())
            {
                objectList= sr.Get().ToList();
            }
            if (true)
            {
                var DOF = new DefinedObjectFactory();
                objectHolder.DefinedObjects = DOF.DefineObjects(objectList);
            }
        }
        //example endpoint
Run Code Online (Sandbox Code Playgroud)

例B:

        var objectHolder = new ObjectHolder();
        List<DefinedObject> objectList;
        using (var sr = new GenericStreamReader<DefinedObject>())
        {
         objectList= sr.Get().ToList();
        }
        var DOF = new DefinedObjectFactory();
        objectHolder.DefinedObjects = DOF.DefineObjects(objectList);
        //example endpoint
Run Code Online (Sandbox Code Playgroud)

当示例端点到达时,示例A在堆栈上的占用空间是否比在示例B中达到示例端点时更小?

c#

4
推荐指数
3
解决办法
279
查看次数

asp.net mvc3如何实例化客户端验证?

这个问题与asp.net mvc3框架最为密切相关.它最初是"如何使用带有asp.net mvc3的jQuery确保动态附加输入字段的活动验证?" 然而,经过一些搜索,测试和咖啡,我发现了这个:

function reValidate(formId) {
 $("#" + formId).removeData("validator");
 $("#" + formId).removeData("unobtrusiveValidation");
 $.validator.unobtrusive.parse("#" + formId);
}
Run Code Online (Sandbox Code Playgroud)

这很好用.但是,我对框架实际使用的机制更加好奇.我有一个完全基于脚本生成的页面.视图中唯一的东西是a <div>,一个<script>用于加载我的库的标签,另一个<script>用于填充<div>.渲染完全动态的页面后,验证完美无瑕.但是,如果在加载页面后使用页面加载时使用的相同进程包含一些新内容,则验证会中断.当然,只需打电话reValidate().

但是 -

a)一旦页面加载(或加载),框架如何实例化验证?

b)框架的哪个部分处理它?它是mvc3部分,asp.net部分,剃刀引擎还是其他部分?

validation jquery asp.net-mvc-3

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

使用jQuery的追加时,"未捕获的语法错误:意外的令牌<"

这是我的问题的jsFiddle演示.

一旦点击事件被触发,这个jquery片段就会增加3个div.但是,控制台说"Uncaught Syntax Error:Unexpected token <".

脚本

$('#e16').on('click', function(){
 $(this).append("<div id='e17' class='kim2bb'>Alcohol 0.2+</div>
                 <div id='e18' class='kim2bb'>Alcohol 1.0~2.0</div>
                 <div id='e19' class='kim2bb'>Alcohol 0.05~1.0</div>");
});
Run Code Online (Sandbox Code Playgroud)

HTML

<div id="e16" class="kim2bb">Drunken Drive</div>
Run Code Online (Sandbox Code Playgroud)

jquery append

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

保留动态更改元素的事件

目标

事情发生后回忆功能的一种好的,明确的方式.

问题

我正在处理一些必须在发生事件时被召回的功能.一个简单的例子是像Twitter的跟随按钮这样的按钮.

直到这里,一切都好.但是,我不知道如何回忆.实际上,我已经尝试过使用$.getScriptjQuery,但它会给服务器带来很多请求,我对这种行为感到不舒服.

为了说明这个问题,我做了这个jsFiddle.当您第一次悬停按钮时,其样式会发生变化.当您单击它并再次单击时,"悬停行为"将消失.

我真的不知道该怎么办.

$.getScript 这是最好的解决方案吗?

有人有什么建议吗?

代码(如果jsFiddle向下)

关于代码的Knockout只是一个例子而且无关紧要.我想用ajax调用和一切可能的事情做到这一点.

HTML:

<div class="container">
    <!-- ko if: isAdded -->
    <button class="btn primary" data-bind="click: add">Add Xbox 360</button>
    <!-- /ko -->

    <!-- ko ifnot: isAdded -->
    <button class="btn btn-success primary remove" data-bind="click: remove">Xbox 360 already added</button>
    <!-- /ko -->
</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

$("button.remove").hover(function() {
    $(this)
    .removeClass("btn-success")
    .addClass("btn-danger")
    .text("Click here to remove");
}, function() {
    $(this)
    .removeClass("btn-danger")
    .addClass("btn-success")
    .text("Xbox 360 already added");
});

ViewModel = function() {
    var self …
Run Code Online (Sandbox Code Playgroud)

javascript jquery knockout.js

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

在`.Where`子句的谓词中传递`this`会导致它变异吗?

使用Entity Framework,并将DbContext包装在如下的类中:

public class Demo : IDisposable
{
  internal DbContext context;
  internal int PrivateId = 5;      

  public Demo()
  {
   this.context = new MyDbContext();
  }
  public void Question()
  {
   //Is there going to be a problem using `this` in the predicate
   var issue = this.context.SomeTable.Where(st => st.ForeignKeyId == this.PrivateId);
  }
  public Dispose()
  {
   this.context.Dispose();
  }
}
Run Code Online (Sandbox Code Playgroud)

这就像我想出的那样简单.我不确定this当用作谓词的一部分时是否会以某种方式被更改或修改Where.基本上我只是想仔细检查,因为我不确定.我查看了Jon Skeet的重新实施,Where但仍然不完全清楚它this会保留其价值.

我的不确定性源于谓词在Func延迟执行时使用的问题.结果,似乎this可以在稍后的时间使用引用,而不是在Where被调用时立即使用.

我是在过度思考这种情况,还是有可能this改变?

.net c# linq linq-to-entities entity-framework

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

为什么文本会在没有'return false'的情况下改回来

我的表单上有一个简单的HTML按钮,脚本如下:

$(document).ready(function () {

    $("#btn1").click(function () {
        $("#btn1").text("Button clicked");
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

使用它return false,它按预期工作 - 我单击按钮,其文本更改为"按钮单击".如果没有'return false',它会改变,但之后会改变.

在这里完成JQuery noob,为什么我需要'return false'?

javascript jquery button

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