<table class="checkout itemsOverview">
<tr class="item">
<td>GR-10 Senderos</td>
<td><span class="value">15.00</span> €</td>
<td><input type="text" value="1" maxlength="2" class="quantity" /></td>
</tr>
<tr class="item">
<td>GR-10 Senderos<br/>GR-66 Camino de la Hermandad<br/>GR 88 Senderos del Jarama<br/>Camino del Cid</td>
<td><span class="value">45.00</span> €</td>
<td><input type="text" class="quantity" value="1" maxlength="2"/></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用下一个代码来获取每个项目的价值和数量.
$("tr.item").each(function(i, tr) {
var value = $(tr + " span.value").html();
var quantity = $(tr + " input.quantity").val();
});
Run Code Online (Sandbox Code Playgroud)
它不起作用.谁能帮我?
我正在尝试创建一个特定的HtmlHelper表扩展来减少视图中的意大利面条代码.
获取域对象列表我想显示一个表,它在使用域对象的属性作为列时更加智能.另外,我想禁用一些属性作为列显示.一个想法是用属性来装饰属性,告诉它不被显示.
希望这是有道理的,但到目前为止我到达的地方......
public static string MyTable(this HtmlHelper helper, string name,
IList<MyObject> items, object tableAttributes)
{
if (items == null || items.Count == 0)
return String.Empty;
StringBuilder sb = new StringBuilder();
BuildTableHeader(sb, items[0].GetType());
//TODO: to be implemented...
//foreach (var i in items)
// BuildMyObjectTableRow(sb, i);
TagBuilder builder = new TagBuilder("table");
builder.MergeAttributes(new RouteValueDictionary(tableAttributes));
builder.MergeAttribute("name", name);
builder.InnerHtml = sb.ToString();
return builder.ToString(TagRenderMode.Normal);
}
private static void BuildTableHeader(StringBuilder sb, Type p)
{
sb.AppendLine("<tr>");
//some how here determine if this property should be shown or …Run Code Online (Sandbox Code Playgroud) 我最近开始使用ASP.NET开发,并且从PHP背景开始,我使用<%%>将代码洒入aspx页面来控制逻辑.
我不是在讨论仅仅使用代码背后的最佳实践,但在这方面有利的一点是我遇到的问题.
每当我进入一个页面的设计视图时,就像我提到的那样在aspx文件中有代码,并进行修改,随机地将所有<%%>块-shift-放在我的aspx中,看起来像是随机点.
这显然是皇室般地混淆了我的控制逻辑,并且在将所有内部代码重做10次以上之后(是的,我懒得咬掉子弹并将其转移到代码后面),我真的很好奇Visual Studio如何能够犯这样的错误?
它甚至可以完全删除一些<%%>块(导致我的代码中缺少紧密括号).
如果有人可以帮我解决这个问题,或者知道它无法解决,我将非常感谢你.
我问自己有关使用php函数htmlentities()对抗XSS攻击的安全性,以及可能的相关函数,如htmlspecialchars.
非常感谢 :)
我正在开发一个有几个笔尖的iPhone应用程序,应该只是风景.
应用程序设置为通过Info.plist文件以横向模式启动.
我有两个视图控制器:
FirstViewController和SecondViewController.
对于其中的每一个,我都有一个nib文件,其中视图是横向的.两个视图控制器都MainView作为插件添加到我的nib中,并且它们的视图被懒惰地初始化.
加载应用程序时,第一个视图按预期显示在横向中.但是,当我切换到第二个视图时,设备(或模拟器)保持横向,但视图旋转,就好像设备处于纵向模式,制动我的界面.
在这两个UIViewController类中,我有以下代码:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return interfaceOrientation == UIInterfaceOrientationLandscapeRight;
}
Run Code Online (Sandbox Code Playgroud)
并切换视图,在我的app委托中我正在做:
[viewController.view removeFromSuperview];
[window addSubview:secondViewController.view];
Run Code Online (Sandbox Code Playgroud)
视图控制器连接的两个出口位置viewController和secondViewController位置.
这是第二个视图在IB中的显示方式: alt text http://img27.imageshack.us/img27/4898/picture1ni.png
这就是它在模拟器中的样子: alt text http://img402.imageshack.us/img402/4866/picture2wt.png
为什么第二个视图在横向显示但是界面旋转了?
我不想处理转换属性,因为这似乎有点过分.
我今天花在从Python角度学习Ruby.我完全没能解决的一件事是相当于装饰者.为了削减一些东西,我试图复制一个简单的Python装饰器:
#! /usr/bin/env python
import math
def document(f):
def wrap(x):
print "I am going to square", x
f(x)
return wrap
@document
def square(x):
print math.pow(x, 2)
square(5)
运行这个给了我:
I am going to square 5 25.0
所以,我想创建一个函数square(x),但是要对它进行修饰,以便在它发生之前提醒我它将会变成什么样.让我们摆脱糖,使其更基本:
...
def square(x):
print math.pow(x, 2)
square = document(square)
...
那么,我如何在Ruby中复制它?这是我的第一次尝试:
#! /usr/bin/env ruby
def document(f)
def wrap(x)
puts "I am going to square", x
f(x)
end
return wrap
end
def square(x)
puts x**2
end
square = document(square)
square(5)
运行此生成:
./ruby_decorate.rb:8:in `document': wrong number …
如何使用jQuery在textarea中获得插入符号的位置?我正在寻找光标从文本开头的偏移,而不是(x,y)位置.
我有一个我定义的公共类,它最终将成为API的一部分,因此它必须具有某些公共属性.但是,我还希望某些属性是只读的,除非它们是在我自己的项目中创建的(例如,如果用户有我们的API,他们可以创建一个User对象,但是他们无法写入其ID字段,仅当我们从数据库中提取时才会填写).
我的想法是使用相同的命名空间,即"公共"DLL和"私有"DLL,有两个独立的程序集.公共DLL中的原型将如下所示:
namespace CompanyName
{
public partial class User
{
public Id { get; }
public Name { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
并且私有DLL将具有:
namespace CompanyName
{
public partial class User
{
public Id { set; }
}
}
Run Code Online (Sandbox Code Playgroud)
这会有用吗?如果没有,有什么更好的方法呢?
所以 - 管理层正在努力推动在所有应用程序中进行单元测试 - 并最终进入完整的TDD /持续集成/自动构建模式(我希望).在这一点上,我们只关心让每个人使用单元测试开发应用程序.我想从基础开始.
我不会说谎 - 我在任何单位测试方面都不是专家,但我确实有足够的理解来开始基础知识的倡议,并允许我们成长为一个团队.我真的很想从你所有的专家那里得到一些评论和批评我的攻击计划.它是一个由小型商店中约10名开发人员组成的团队,这为利用敏捷开发方法和最佳实践提供了一个很好的机会.
首先 - 该团队主要由中级开发人员组成,他们有几个初级开发人员和一个高级开发人员,所有人都没有接触过单元测试.培训将是一个半月会议,每次大约30-60分钟(可能最终运行一小时,我猜,也许更频繁地使用它们).我们将继续这些会议,直到有理由阻止他们让别人赶上他们自己的"家庭作业"和经验 - 但推动将始终如一.
无论如何 - 这是我提出的课程计划.好吧,前两个至少.您的专家就课程的实际内容或结构等提出的任何建议都会很棒.评论和批评非常感谢.非常感谢.
如果这篇文章"太多"无法在此处发布或通读,我深表歉意.我认为对于希望首先进入单元测试的SO用户来说,这将是一个很好的主题.也许你可以跳到"课程计划"部分 - 再次感谢所有人.
CLIFF注意事项 - 我发现这篇帖子非常冗长和丑陋,所以这里有悬崖笔记 - 第1课将是'你好世界单元测试' - 第2课将打开我最近的应用程序的解决方案,并展示如何应用每个"世界你好"在现实生活中的例子......非常感谢大家对您给了我迄今..反馈只是wantd强调的是第2课其实是要具有现实生活的生产单元测试它,因为许多建议我这样做,当它是我的计划从开始=)
单元测试课程计划
概观
为什么单元测试?看起来像是一堆额外的工作 - 为什么呢?
•成为自己命运的主人.我们的大多数用户都没有真正的UAT,不幸的是,他们倾向于在生产中进行一次测试.通过单元测试,我们可以大大降低与此相关的风险,特别是在我们创建足够的测试数据并考虑尽可能多的顶级输入时.虽然不是防止所有错误的"银弹" - 这是你的第一道防线 - 一条巨大的前线,可与SB冠军巨人队相媲美.
•单元测试实施良好的设计和架构实践.这是"暴力的精神病患者维护你的代码并知道你住在哪里".你根本无法编写经过单元测试的低质量代码
•你有多少次没有重构臭代码,因为你太害怕破坏某些东西?自动化测试消除了这种恐惧,使重构变得更加容易,从而使代码更易读,更易于维护.
•底线 - 维护变得更容易和更便宜.编写单元测试所花费的时间现在可能成本很高 - 但是它节省你的时间已经被证明是一次又一次更有价值.这是自动测试代码的首要原因.它给了我们信心,使我们能够对系统进行更加雄心勃勃的改变,否则我们可能不得不降低需求,甚至根本不采取任何措施.
术语审查
•单元测试 - 测试最低级别的单个工作单元.EG - 测试单个函数可以流经的所有可能的代码路径.
•集成测试 - 测试您的单元如何协同工作.例如 - 运行一个"作业"(或一系列函数调用),使用已知输入执行大量工作 - 然后在最后查询数据库并断言值是您对这些已知输入的期望(而不是必须眼球在某个网页上的网格,例如进行功能测试).
•伪造 - 假冒是一种对象,其目的是用于您的测试.它允许您轻松地不测试您不想测试的代码.您不必调用您不想要的代码(如数据库调用),而是使用假对象来"伪造"该DB调用,并且可能从XML/Excel文件或模拟框架中读取数据.o模拟 - 一种你对其发表断言声明的假货.o Stub - 一种用作占位符代码的伪造,因此您可以跳过数据库调用,但不要对其进行断言
教训
第一课 - Hello Worlds
•Hello World单元测试 - 我将创建一个经过单元测试的"hello world"控制台应用程序.将在会议期间动态创建此应用程序,在Visual Studio …
c# ×3
jquery ×2
algorithm ×1
asp.net ×1
asp.net-mvc ×1
decorator ×1
html-helper ×1
iphone ×1
javascript ×1
landscape ×1
php ×1
properties ×1
ruby ×1
security ×1
textarea ×1
unit-testing ×1
xss ×1