我可以在这里优化班级作业吗?我必须在很多不同的地方这样做,并试图弄清楚如何减少它...复制粘贴 - 内嵌/内联.
@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
如果有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)只是为了构建属性数组?
是否有任何情况下使用不会处理它应该处理的对象?
例如,
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活力?
在ASP.NET MVC3项目中,使用Entity Framework(使用存储库模式)或使用ADO.NET SqlConnection和更快,更安全SqlCommand吗?
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中达到示例端点时更小?
这个问题与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部分,剃刀引擎还是其他部分?
这是我的问题的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) 事情发生后回忆功能的一种好的,明确的方式.
我正在处理一些必须在发生事件时被召回的功能.一个简单的例子是像Twitter的跟随按钮这样的按钮.
直到这里,一切都好.但是,我不知道如何回忆.实际上,我已经尝试过使用$.getScriptjQuery,但它会给服务器带来很多请求,我对这种行为感到不舒服.
为了说明这个问题,我做了这个jsFiddle.当您第一次悬停按钮时,其样式会发生变化.当您单击它并再次单击时,"悬停行为"将消失.
我真的不知道该怎么办.
$.getScript 这是最好的解决方案吗?
有人有什么建议吗?
关于代码的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) 使用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改变?
我的表单上有一个简单的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'?
c# ×4
jquery ×4
javascript ×2
.net ×1
ado.net ×1
append ×1
button ×1
css ×1
knockout.js ×1
linq ×1
optimization ×1
razor ×1
reflection ×1
validation ×1